services: lightdm: Use ‘make-forkexec-constructor’.

* gnu/services/lightdm.scm (lightdm-shepherd-service)[start]: Use
‘make-forkexec-constructor’ directly.

Change-Id: Iaaa8dcde123ea80ce63c09033b681e40ccc589a4
This commit is contained in:
Ludovic Courtès 2024-04-28 23:37:24 +02:00
parent f7f31c8595
commit ae36d514aa
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -620,24 +620,23 @@ port=" (number->string vnc-server-port) "\n"
(provision '(lightdm display-manager xorg-server)) (provision '(lightdm display-manager xorg-server))
(respawn? #f) (respawn? #f)
(start (start
#~(lambda ()
;; Note: sadly, environment variables defined for 'lightdm' are ;; Note: sadly, environment variables defined for 'lightdm' are
;; cleared and/or overridden by /etc/profile by its spawned greeters, ;; cleared and/or overridden by /etc/profile by its spawned greeters,
;; so an out-of-band means such as /etc is required. ;; so an out-of-band means such as /etc is required.
(fork+exec-command #$lightdm-command #~(make-forkexec-constructor #$lightdm-command
;; Lightdm needs itself in its PATH. ;; Lightdm needs itself in its PATH.
#:environment-variables #:environment-variables
(list (list
;; It knows to look for greeter configurations in ;; It knows to look for greeter
;; XDG_CONFIG_DIRS... ;; configurations in XDG_CONFIG_DIRS...
(string-append "XDG_CONFIG_DIRS=" (string-append "XDG_CONFIG_DIRS="
#$greeters-config-dir) #$greeters-config-dir)
;; ... and for greeter .desktop files as well as ;; ... and for greeter .desktop files as
;; lightdm accountsservice interface in ;; well as lightdm accountsservice
;; XDG_DATA_DIRS. ;; interface in XDG_DATA_DIRS.
(string-append "XDG_DATA_DIRS=" (string-append "XDG_DATA_DIRS="
#$data-dirs) #$data-dirs)
(string-append "PATH=" #$lightdm-paths))))) (string-append "PATH=" #$lightdm-paths))))
(stop #~(make-kill-destructor))))) (stop #~(make-kill-destructor)))))
(define lightdm-service-type (define lightdm-service-type