On 13 May 2016 at 23:26, Alex Kost <[email protected]> wrote:

> Dmitry Nikolaev (2016-05-12 22:45 +0300) wrote:
>
> [...]
> > How do I write something that works like "take %desktop-services, but
> > redefine (slim-service) with my definiton of (slim-service ...)"?
>
> You need to remove the default slim service and add your own.  You can
> use 'service-kind' procedure to check if the service is the one you
> need.
>
> See <http://lists.gnu.org/archive/html/help-guix/2016-01/msg00064.html>
> and surrounding messages.
>
> So it would look something like this :
>
>   (cons (slim-service ...)  ; your service
>         (remove (lambda (service)
>                   (eq? (service-kind service)
>                        slim-service-type))
>                 %desktop-services))
>
> Note that 'remove' is from (srfi srfi-1), 'service-kind' is from (gnu
> services), 'slim-service-type' is from (gnu services xorg), so you need
> to use all these modules in your config file.


Didn't help.

  (services
   (cons*
    (lsh-service #:port-number 2222)
    (gnome-desktop-service)
    (xfce-desktop-service)
    (console-keymap-service "ru")
    (cons
     (slim-service #:allow-empty-passwords? #f #:auto-login? #f
           #:startx (xorg-start-command
                 #:configuration-file (xorg-configuration-file
                           #:extra-config (list libinput.conf)
                           #:drivers '("radeon" "vesa")
                           #:resolutions
                           '((1366 768) (1024 768)))))
     (remove (lambda (service)
           (eq? (service-kind service)
            slim-service-type))
         %desktop-services))))

Still gives:

guix system: error: service 'xorg-server' provided more than once

Dmitry Nikolaev

Reply via email to