aboutsummaryrefslogtreecommitdiff
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
parentae36d514aa011dd9635c9a3817dcb6b0e000be27 (diff)
downloadguix-72432080ad52aec261ae8a74afc3a2ee7254914a.tar.gz
guix-72432080ad52aec261ae8a74afc3a2ee7254914a.zip
services: gdm: Use ‘make-forkexec-constructor’.
* gnu/services/xorg.scm (gdm-shepherd-service): Use ‘make-forkexec-constructor’ directly. Change-Id: I4ede4c99996cea4421316411cf8d887d70ce4253
-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))))