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