services: gdm: Use ‘make-forkexec-constructor’.
* gnu/services/xorg.scm (gdm-shepherd-service): Use ‘make-forkexec-constructor’ directly. Change-Id: I4ede4c99996cea4421316411cf8d887d70ce4253
This commit is contained in:
parent
ae36d514aa
commit
72432080ad
1 changed files with 38 additions and 40 deletions
|
@ -1,6 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
;;; 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 © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||||
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
|
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
|
||||||
;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
@ -1146,45 +1146,43 @@ argument.")))
|
||||||
(documentation "Xorg display server (GDM)")
|
(documentation "Xorg display server (GDM)")
|
||||||
(provision '(xorg-server))
|
(provision '(xorg-server))
|
||||||
(requirement '(dbus-system pam user-processes host-name udev elogind))
|
(requirement '(dbus-system pam user-processes host-name udev elogind))
|
||||||
(start #~(lambda ()
|
(start #~(make-forkexec-constructor
|
||||||
(fork+exec-command
|
'(#$(file-append (gdm-configuration-gdm config) "/bin/gdm"))
|
||||||
(list #$(file-append (gdm-configuration-gdm config)
|
#:environment-variables
|
||||||
"/bin/gdm"))
|
(list #$@(if (gdm-configuration-auto-suspend? config)
|
||||||
#:environment-variables
|
#~()
|
||||||
(list #$@(if (gdm-configuration-auto-suspend? config)
|
#~("DCONF_PROFILE=/etc/dconf/profile/gdm"))
|
||||||
#~()
|
(string-append "GDM_CUSTOM_CONF=" #$config-file)
|
||||||
#~("DCONF_PROFILE=/etc/dconf/profile/gdm"))
|
(string-append
|
||||||
(string-append "GDM_CUSTOM_CONF=" #$config-file)
|
"GDM_DBUS_DAEMON="
|
||||||
(string-append
|
#$(gdm-configuration-dbus-daemon config))
|
||||||
"GDM_DBUS_DAEMON="
|
(string-append
|
||||||
#$(gdm-configuration-dbus-daemon config))
|
"GDM_X_SERVER="
|
||||||
(string-append
|
#$(xorg-wrapper
|
||||||
"GDM_X_SERVER="
|
(gdm-configuration-xorg config)))
|
||||||
#$(xorg-wrapper
|
(string-append
|
||||||
(gdm-configuration-xorg config)))
|
"GDM_X_SESSION="
|
||||||
(string-append
|
#$(gdm-configuration-x-session config))
|
||||||
"GDM_X_SESSION="
|
(string-append
|
||||||
#$(gdm-configuration-x-session config))
|
"XDG_DATA_DIRS="
|
||||||
(string-append
|
((lambda (ls) (string-join ls ":"))
|
||||||
"XDG_DATA_DIRS="
|
(map (lambda (path)
|
||||||
((lambda (ls) (string-join ls ":"))
|
(string-append path "/share"))
|
||||||
(map (lambda (path)
|
;; XXX: Remove gnome-shell below when GDM
|
||||||
(string-append path "/share"))
|
;; can depend on GNOME Shell directly.
|
||||||
;; XXX: Remove gnome-shell below when GDM
|
(cons #$gnome-shell
|
||||||
;; can depend on GNOME Shell directly.
|
'#$(gdm-configuration-gnome-shell-assets
|
||||||
(cons #$gnome-shell
|
config)))))
|
||||||
'#$(gdm-configuration-gnome-shell-assets
|
;; Add XCURSOR_PATH so that mutter can find its
|
||||||
config)))))
|
;; cursors. gdm doesn't login so doesn't source
|
||||||
;; Add XCURSOR_PATH so that mutter can find its
|
;; the corresponding line in /etc/profile.
|
||||||
;; cursors. gdm doesn't login so doesn't source
|
"XCURSOR_PATH=/run/current-system/profile/share/icons"
|
||||||
;; the corresponding line in /etc/profile.
|
(string-append
|
||||||
"XCURSOR_PATH=/run/current-system/profile/share/icons"
|
"GDK_PIXBUF_MODULE_FILE="
|
||||||
(string-append
|
#$gnome-shell "/" #$%gdk-pixbuf-loaders-cache-file)
|
||||||
"GDK_PIXBUF_MODULE_FILE="
|
(string-append
|
||||||
#$gnome-shell "/" #$%gdk-pixbuf-loaders-cache-file)
|
"GDM_WAYLAND_SESSION="
|
||||||
(string-append
|
#$(gdm-configuration-wayland-session config)))))
|
||||||
"GDM_WAYLAND_SESSION="
|
|
||||||
#$(gdm-configuration-wayland-session config))))))
|
|
||||||
(stop #~(make-kill-destructor))
|
(stop #~(make-kill-destructor))
|
||||||
(actions (list (shepherd-configuration-action config-file)))
|
(actions (list (shepherd-configuration-action config-file)))
|
||||||
(respawn? #t))))
|
(respawn? #t))))
|
||||||
|
|
Reference in a new issue