summary refs log tree commit diff
path: root/gnu/services
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-04-28 23:37:24 +0200
committerLudovic Courtès <ludo@gnu.org>2024-04-28 23:37:24 +0200
commitae36d514aa011dd9635c9a3817dcb6b0e000be27 (patch)
treeb1a467b5ef4fac3ed8d5e94dc1e090c7b1030189 /gnu/services
parentf7f31c85956c6bd2c187452040b13d77a88bf532 (diff)
downloadguix-ae36d514aa011dd9635c9a3817dcb6b0e000be27.tar.gz
services: lightdm: Use ‘make-forkexec-constructor’.
* gnu/services/lightdm.scm (lightdm-shepherd-service)[start]: Use
‘make-forkexec-constructor’ directly.

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