diff options
author | Ludovic Courtès <ludo@gnu.org> | 2024-04-28 23:41:50 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-04-28 23:41:50 +0200 |
commit | 72432080ad52aec261ae8a74afc3a2ee7254914a (patch) | |
tree | 1cb5bf05c151895fcca12ea2be6dea638702aa0b | |
parent | ae36d514aa011dd9635c9a3817dcb6b0e000be27 (diff) | |
download | guix-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.scm | 78 |
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)))) |