Subject: Re: bug#55391: Multiple slim services

From: André A. Gomes <[email-masked]>
Date: Mon, 16 May 2022 22:39:55 +0100

Josselin Poiret via Bug reports for GNU Guix <[email-masked]> writes:

> Hello André,
>
> André A. Gomes <[email-masked]> writes:
>
>> Hi Guix,
>>
>> The manual (see (info "(guix) X Window")) mentions that it's possible to
>> add two slim services but it seems not to work.  When I tried to
>> reconfigure the system it gives the following error:
>>
>> --8<---------------cut here---------------start------------->8---
>> guix system: error: more than one target service of type 'slim'
>> --8<---------------cut here---------------end--------------->8---
>
> If I understand the relevant code properly, this should happen only when
> you try to extend a service type (eg. slim-service-type) with another
> service, but you have multiple instances of the given service type, and
> so guix system can't disambiguate between the two (it would be better if
> you could manually specify that imho, but alas).  Could you post a
> snippet of your config, especially the service part?

Here it goes.  The manual states that you can have two slim services on
different ttys.  Am I misinterpreting something?  Thank you!

--8<---------------cut here---------------start------------->8---
(services (cons* (set-xorg-configuration (xorg-configuration
                                            (modules (list xf86-input-libinput
		                                                   xf86-input-evdev
                                                           xf86-input-wacom))
                                            (keyboard-layout keyboard-layout)
                                            (server-arguments
                                             ;; disable screen-saver timeout
                                             (append (list "-s" "0")
                                                     %default-xorg-server-arguments))
                                            (extra-config (list xorg-touchpad
                                                                xorg-monitor)))
                                           slim-service-type)
                   (service slim-service-type (slim-configuration (display ":0")
                                                                  (vt "vt7")))
                   ;; Doesn't work to add a 2nd service of the same type,
                   ;; contrary to what the docs say
                   ;; (service slim-service-type (slim-configuration (display ":0")
                   ;;                                                (vt "vt8")))
                   (modify-services %desktop-services
                     (guix-service-type
                      config => (guix-configuration
                                 (inherit config)
                                 (substitute-urls
                                  (append (list "https://substitutes.nonguix.org")
                                          %default-substitute-urls))
                                 (authorized-keys
                                  (append (list (plain-file "non-guix.pub"
                                                            nonguix-key))
                                          %default-authorized-guix-keys))))
                     (delete gdm-service-type)
                     (delete (screen-locker-service xlockmore "xlock")))))
--8<---------------cut here---------------end--------------->8---

-- 
André A. Gomes
"You cannot even find the ruins..."