From 72432080ad52aec261ae8a74afc3a2ee7254914a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 28 Apr 2024 23:41:50 +0200 Subject: =?UTF-8?q?services:=20gdm:=20Use=20=E2=80=98make-forkexec-constru?= =?UTF-8?q?ctor=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/xorg.scm (gdm-shepherd-service): Use ‘make-forkexec-constructor’ directly. Change-Id: I4ede4c99996cea4421316411cf8d887d70ce4253 --- gnu/services/xorg.scm | 78 +++++++++++++++++++++++++-------------------------- 1 file changed, 38 insertions(+), 40 deletions(-) (limited to 'gnu/services') 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 -;;; Copyright © 2013-2017, 2019-2020, 2022 Ludovic Courtès +;;; Copyright © 2013-2017, 2019-2020, 2022, 2024 Ludovic Courtès ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2018, 2019 Timothy Sample ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen @@ -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)))) -- cgit v1.2.3