summary refs log tree commit diff
path: root/gnu/services/xorg.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-04-28 23:41:50 +0200
committerLudovic Courtès <ludo@gnu.org>2024-04-28 23:41:50 +0200
commit72432080ad52aec261ae8a74afc3a2ee7254914a (patch)
tree1cb5bf05c151895fcca12ea2be6dea638702aa0b /gnu/services/xorg.scm
parentae36d514aa011dd9635c9a3817dcb6b0e000be27 (diff)
downloadguix-72432080ad52aec261ae8a74afc3a2ee7254914a.tar.gz
services: gdm: Use ‘make-forkexec-constructor’.
* gnu/services/xorg.scm (gdm-shepherd-service): Use
‘make-forkexec-constructor’ directly.

Change-Id: I4ede4c99996cea4421316411cf8d887d70ce4253
Diffstat (limited to 'gnu/services/xorg.scm')
-rw-r--r--gnu/services/xorg.scm78
1 files changed, 38 insertions, 40 deletions
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 26902c0568..51d704439e 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
-;;; Copyright © 2013-2017, 2019-2020, 2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013-2017, 2019-2020, 2022, 2024 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
 ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@@ -1146,45 +1146,43 @@ argument.")))
          (documentation "Xorg display server (GDM)")
          (provision '(xorg-server))
          (requirement '(dbus-system pam user-processes host-name udev elogind))
-         (start #~(lambda ()
-                    (fork+exec-command
-                     (list #$(file-append (gdm-configuration-gdm config)
-                                          "/bin/gdm"))
-                     #:environment-variables
-                     (list #$@(if (gdm-configuration-auto-suspend? config)
-                                  #~()
-                                  #~("DCONF_PROFILE=/etc/dconf/profile/gdm"))
-                           (string-append "GDM_CUSTOM_CONF=" #$config-file)
-                           (string-append
-                            "GDM_DBUS_DAEMON="
-                            #$(gdm-configuration-dbus-daemon config))
-                           (string-append
-                            "GDM_X_SERVER="
-                            #$(xorg-wrapper
-                               (gdm-configuration-xorg config)))
-                           (string-append
-                            "GDM_X_SESSION="
-                            #$(gdm-configuration-x-session config))
-                           (string-append
-                            "XDG_DATA_DIRS="
-                            ((lambda (ls) (string-join ls ":"))
-                             (map (lambda (path)
-                                    (string-append path "/share"))
-                                  ;; XXX: Remove gnome-shell below when GDM
-                                  ;; can depend on GNOME Shell directly.
-                                  (cons #$gnome-shell
-                                        '#$(gdm-configuration-gnome-shell-assets
-                                            config)))))
-                           ;; Add XCURSOR_PATH so that mutter can find its
-                           ;; cursors.  gdm doesn't login so doesn't source
-                           ;; the corresponding line in /etc/profile.
-                           "XCURSOR_PATH=/run/current-system/profile/share/icons"
-                           (string-append
-                            "GDK_PIXBUF_MODULE_FILE="
-                            #$gnome-shell "/" #$%gdk-pixbuf-loaders-cache-file)
-                           (string-append
-                            "GDM_WAYLAND_SESSION="
-                            #$(gdm-configuration-wayland-session config))))))
+         (start #~(make-forkexec-constructor
+                   '(#$(file-append (gdm-configuration-gdm config) "/bin/gdm"))
+                   #:environment-variables
+                   (list #$@(if (gdm-configuration-auto-suspend? config)
+                                #~()
+                                #~("DCONF_PROFILE=/etc/dconf/profile/gdm"))
+                         (string-append "GDM_CUSTOM_CONF=" #$config-file)
+                         (string-append
+                          "GDM_DBUS_DAEMON="
+                          #$(gdm-configuration-dbus-daemon config))
+                         (string-append
+                          "GDM_X_SERVER="
+                          #$(xorg-wrapper
+                             (gdm-configuration-xorg config)))
+                         (string-append
+                          "GDM_X_SESSION="
+                          #$(gdm-configuration-x-session config))
+                         (string-append
+                          "XDG_DATA_DIRS="
+                          ((lambda (ls) (string-join ls ":"))
+                           (map (lambda (path)
+                                  (string-append path "/share"))
+                                ;; XXX: Remove gnome-shell below when GDM
+                                ;; can depend on GNOME Shell directly.
+                                (cons #$gnome-shell
+                                      '#$(gdm-configuration-gnome-shell-assets
+                                          config)))))
+                         ;; Add XCURSOR_PATH so that mutter can find its
+                         ;; cursors.  gdm doesn't login so doesn't source
+                         ;; the corresponding line in /etc/profile.
+                         "XCURSOR_PATH=/run/current-system/profile/share/icons"
+                         (string-append
+                          "GDK_PIXBUF_MODULE_FILE="
+                          #$gnome-shell "/" #$%gdk-pixbuf-loaders-cache-file)
+                         (string-append
+                          "GDM_WAYLAND_SESSION="
+                          #$(gdm-configuration-wayland-session config)))))
          (stop #~(make-kill-destructor))
          (actions (list (shepherd-configuration-action config-file)))
          (respawn? #t))))