diff options
author | Timothy Sample <samplet@ngyro.com> | 2019-02-13 14:22:21 -0500 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-02-17 00:04:57 +0100 |
commit | 41fa9f1815685ede0d3fdc1c561d2a9cf0ffb158 (patch) | |
tree | 5c2198f371df0c16c7738073b9af3bdbd73b8cb8 | |
parent | 7e61419892aa68f7238e50e71f6e69a2e6a53211 (diff) | |
download | guix-41fa9f1815685ede0d3fdc1c561d2a9cf0ffb158.tar guix-41fa9f1815685ede0d3fdc1c561d2a9cf0ffb158.tar.gz |
services: gdm: Allow for custom X session scripts.
* gnu/packages/gnome.scm (gdm)[arguments]: Update pre-configure phase so
that GDM runs an X session script specified by the variable
GDM_X_SESSION; remove the '--enable-gdm-xsession' configuration
option.
* gnu/services/xorg.scm (<gdm-configuration>): Add 'x-session' field.
(gdm-shepherd-service): Set the GDM_X_SESSION variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/gnome.scm | 9 | ||||
-rw-r--r-- | gnu/services/xorg.scm | 7 |
2 files changed, 10 insertions, 6 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 794f3a8843..7001a12b19 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5410,10 +5410,6 @@ libxml2.") ;; service for TTY 1 before starting GDM). "--with-initial-vt=7" - ;; By default, GDM expects distributions to install a custom Xsession - ;; script. It provides a generic one if --enable-gdm-xsession is set. - "--enable-gdm-xsession" - ;; Use '/etc/environment' for locale settings instead of the ;; systemd-specific '/etc/locale.conf'. "--with-lang-file=/etc/environment" @@ -5463,6 +5459,7 @@ libxml2.") (let ((propagate '("GDM_CUSTOM_CONF" "GDM_DBUS_DAEMON" "GDM_X_SERVER" + "GDM_X_SESSION" ;; XXX: Remove this once GNOME Shell is ;; a dependency of GDM. "XDG_DATA_DIRS"))) @@ -5490,7 +5487,9 @@ libxml2.") (("\"dbus-daemon\"") "g_getenv (\"GDM_DBUS_DAEMON\")") (("X_SERVER") - "g_getenv (\"GDM_X_SERVER\")")) + "g_getenv (\"GDM_X_SERVER\")") + (("GDMCONFDIR \"/Xsession\"") + "g_getenv (\"GDM_X_SESSION\")")) ;; Use an absolute path for GNOME Session. (substitute* "daemon/gdm-launch-environment.c" (("\"gnome-session\"") diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 4e6f5ad44f..f7d07b309e 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -646,7 +646,9 @@ makes the good ol' XlockMore usable." (gnome-shell-assets gdm-configuration-gnome-shell-assets (default (list adwaita-icon-theme font-cantarell))) (x-server gdm-configuration-x-server - (default (xorg-wrapper)))) + (default (xorg-wrapper))) + (x-session gdm-configuration-x-session + (default (xinitrc)))) (define (gdm-configuration-file config) (mixed-text-file "gdm-custom.conf" @@ -718,6 +720,9 @@ makes the good ol' XlockMore usable." "GDM_X_SERVER=" #$(gdm-configuration-x-server config)) (string-append + "GDM_X_SESSION=" + #$(gdm-configuration-x-session config)) + (string-append "XDG_DATA_DIRS=" ((lambda (ls) (string-join ls ":")) (map (lambda (path) |