Hi. I want my config.scm to be short. Here is my services section:
(services (cons* ;;(dhcp-client-service)
(lsh-service #:port-number 2222)
(gnome-desktop-service)
(xfce-desktop-service)
(console-keymap-service "ru")
%desktop-services))
But if I add slim-service with my configuration
(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)))))
I'll get
guix system: error: service 'xorg-server' provided more than once
Because %desktop-services already includes slim-service:
;;guix.git/tree/gnu/services/desktop.scm
(define %desktop-services
;; List of services typically useful for a "desktop" use case.
(cons* (slim-service)
...
So I put service list from desktop.scm and get this monster:
(services (cons* ;;(dhcp-client-service)
(lsh-service #:port-number 2222)
(gnome-desktop-service)
(xfce-desktop-service)
(console-keymap-service "ru")
(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)))))
(screen-locker-service slock)
(screen-locker-service xlockmore "xlock")
(avahi-service)
(wicd-service)
(udisks-service)
(upower-service)
(colord-service)
(geoclue-service)
(polkit-service)
(elogind-service)
(dbus-service)
(ntp-service)
;; %desktop-services))
%base-services))
What if I want to custome some service from %base-services? My service list would become too long to be readable.