aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Sample <samplet@ngyro.com>2019-02-13 14:22:21 -0500
committerLudovic Courtès <ludo@gnu.org>2019-02-17 00:04:57 +0100
commit41fa9f1815685ede0d3fdc1c561d2a9cf0ffb158 (patch)
tree5c2198f371df0c16c7738073b9af3bdbd73b8cb8
parent7e61419892aa68f7238e50e71f6e69a2e6a53211 (diff)
downloadguix-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.scm9
-rw-r--r--gnu/services/xorg.scm7
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)