services: gdm: Remove etc service.
* gnu/packages/gnome.scm (gdm)[arguments]: Update pre-configure phase to make GDM get the configuration file path from an environment variable. * gnu/services/xorg.scm (gdm-etc-service): Remove function. (gdm-configuration-file): New function. (gdm-shepherd-service): Set GDM_CUSTOM_CONF before invoking GDM. (gdm-service-type)[extensions]: Remove etc-service-type extension. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
7af417502c
commit
e57c2adb2a
|
@ -32,7 +32,7 @@
|
|||
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
|
||||
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
|
||||
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -5462,6 +5462,9 @@ libxml2.")
|
|||
;; processes.
|
||||
"gdm_session_set_environment_variable (self, \"GDM_X_SERVER\",\n"
|
||||
" g_getenv (\"GDM_X_SERVER\"));\n"
|
||||
;; Propagate the GDM_CUSTOM_CONF environment variable.
|
||||
"gdm_session_set_environment_variable (self, \"GDM_CUSTOM_CONF\",\n"
|
||||
" g_getenv (\"GDM_CUSTOM_CONF\"));\n"
|
||||
;; FIXME: Really glib should be declaring XDG_CONFIG_DIRS as a
|
||||
;; variable, but it doesn't do that right now. Anyway
|
||||
;; /run/current-system/profile/share/gnome-session/sessions/gnome.desktop
|
||||
|
@ -5481,7 +5484,9 @@ libxml2.")
|
|||
;; Look for custom GDM conf in /run/current-system.
|
||||
(substitute* '("common/gdm-settings-desktop-backend.c")
|
||||
(("GDM_CUSTOM_CONF")
|
||||
"\"/run/current-system/etc/gdm/custom.conf\""))
|
||||
(string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
|
||||
" ? g_getenv(\"GDM_CUSTOM_CONF\")"
|
||||
" : GDM_CUSTOM_CONF)")))
|
||||
;; Use service-supplied path to X.
|
||||
(substitute* '("daemon/gdm-server.c")
|
||||
(("\\(X_SERVER X_SERVER_ARG_FORMAT")
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
|
||||
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -633,38 +633,34 @@ makes the good ol' XlockMore usable."
|
|||
(x-server gdm-configuration-x-server
|
||||
(default (xorg-wrapper))))
|
||||
|
||||
(define (gdm-etc-service config)
|
||||
(define gdm-configuration-file
|
||||
(mixed-text-file "gdm-custom.conf"
|
||||
"[daemon]\n"
|
||||
"#User=gdm\n"
|
||||
"#Group=gdm\n"
|
||||
(if (gdm-configuration-auto-login? config)
|
||||
(string-append
|
||||
"AutomaticLoginEnable=true\n"
|
||||
"AutomaticLogin="
|
||||
(or (gdm-configuration-default-user config)
|
||||
(error "missing default user for auto-login"))
|
||||
"\n")
|
||||
(string-append
|
||||
"AutomaticLoginEnable=false\n"
|
||||
"#AutomaticLogin=\n"))
|
||||
"#TimedLoginEnable=false\n"
|
||||
"#TimedLogin=\n"
|
||||
"#TimedLoginDelay=0\n"
|
||||
"#InitialSetupEnable=true\n"
|
||||
;; Enable me once X is working.
|
||||
"WaylandEnable=false\n"
|
||||
"\n"
|
||||
"[debug]\n"
|
||||
"#Enable=true\n"
|
||||
"\n"
|
||||
"[security]\n"
|
||||
"#DisallowTCP=true\n"
|
||||
"#AllowRemoteAutoLogin=false\n"))
|
||||
`(("gdm" ,(file-union
|
||||
"gdm"
|
||||
`(("custom.conf" ,gdm-configuration-file))))))
|
||||
(define (gdm-configuration-file config)
|
||||
(mixed-text-file "gdm-custom.conf"
|
||||
"[daemon]\n"
|
||||
"#User=gdm\n"
|
||||
"#Group=gdm\n"
|
||||
(if (gdm-configuration-auto-login? config)
|
||||
(string-append
|
||||
"AutomaticLoginEnable=true\n"
|
||||
"AutomaticLogin="
|
||||
(or (gdm-configuration-default-user config)
|
||||
(error "missing default user for auto-login"))
|
||||
"\n")
|
||||
(string-append
|
||||
"AutomaticLoginEnable=false\n"
|
||||
"#AutomaticLogin=\n"))
|
||||
"#TimedLoginEnable=false\n"
|
||||
"#TimedLogin=\n"
|
||||
"#TimedLoginDelay=0\n"
|
||||
"#InitialSetupEnable=true\n"
|
||||
;; Enable me once X is working.
|
||||
"WaylandEnable=false\n"
|
||||
"\n"
|
||||
"[debug]\n"
|
||||
"#Enable=true\n"
|
||||
"\n"
|
||||
"[security]\n"
|
||||
"#DisallowTCP=true\n"
|
||||
"#AllowRemoteAutoLogin=false\n"))
|
||||
|
||||
(define (gdm-pam-service config)
|
||||
"Return a PAM service for @command{gdm}."
|
||||
|
@ -698,6 +694,9 @@ makes the good ol' XlockMore usable."
|
|||
"/bin/gdm"))
|
||||
#:environment-variables
|
||||
(list (string-append
|
||||
"GDM_CUSTOM_CONF="
|
||||
#$(gdm-configuration-file config))
|
||||
(string-append
|
||||
"GDM_X_SERVER="
|
||||
#$(gdm-configuration-x-server config))
|
||||
;; XXX: GDM requires access to a handful of
|
||||
|
@ -719,8 +718,6 @@ makes the good ol' XlockMore usable."
|
|||
(const %gdm-accounts))
|
||||
(service-extension pam-root-service-type
|
||||
gdm-pam-service)
|
||||
(service-extension etc-service-type
|
||||
gdm-etc-service)
|
||||
(service-extension dbus-root-service-type
|
||||
(compose list
|
||||
gdm-configuration-gdm))))
|
||||
|
|
Loading…
Reference in New Issue