diff options
author | Timothy Sample <samplet@ngyro.com> | 2019-02-13 14:22:20 -0500 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-02-17 00:04:57 +0100 |
commit | 7e61419892aa68f7238e50e71f6e69a2e6a53211 (patch) | |
tree | dac1cb4a3195cd7b7f9bf6d70a306e0a730bc209 | |
parent | 1f564c1573f2d120a55e3b321a0c558a51720bce (diff) | |
download | guix-7e61419892aa68f7238e50e71f6e69a2e6a53211.tar.gz |
services: gdm: Make dependencies explicit.
This commit removes the remaining implicit dependencies that the GDM service had on the GNOME Desktop service. * gnu/services/xorg.scm (gdm-configuration): Add a gnome-shell-assets field for specifying any icons or fonts that the GNOME Shell theme needs. (gdm-shepherd-service): Remove environment variables pointing to '/run/current-system' and set XDG_DATA_DIRS so that it points to 'gnome-shell' and its assets. (gdm-service-type): Extend 'profile-service-type' to ensure that necessary fonts are installed in the system profile. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/services/xorg.scm | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 6a589779b9..4e6f5ad44f 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -28,6 +28,7 @@ #:use-module ((gnu packages base) #:select (canonical-package)) #:use-module (gnu packages guile) #:use-module (gnu packages xorg) + #:use-module (gnu packages fonts) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages display-managers) @@ -642,6 +643,8 @@ makes the good ol' XlockMore usable." (auto-login? gdm-configuration-auto-login? (default #f)) (dbus-daemon gdm-configuration-dbus-daemon (default dbus-daemon-wrapper)) (default-user gdm-configuration-default-user (default #f)) + (gnome-shell-assets gdm-configuration-gnome-shell-assets + (default (list adwaita-icon-theme font-cantarell))) (x-server gdm-configuration-x-server (default (xorg-wrapper)))) @@ -714,13 +717,16 @@ makes the good ol' XlockMore usable." (string-append "GDM_X_SERVER=" #$(gdm-configuration-x-server config)) - ;; XXX: GDM requires access to a handful of - ;; programs and components from Gnome (gnome-shell, - ;; dbus, and gnome-session among others). The - ;; following variables only work provided Gnome is - ;; installed. - "XDG_DATA_DIRS=/run/current-system/profile/share" - "PATH=/run/current-system/profile/bin")))) + (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))))))))) (stop #~(make-kill-destructor)) (respawn? #t)))) @@ -733,6 +739,8 @@ makes the good ol' XlockMore usable." (const %gdm-accounts)) (service-extension pam-root-service-type gdm-pam-service) + (service-extension profile-service-type + gdm-configuration-gnome-shell-assets) (service-extension dbus-root-service-type (compose list gdm-configuration-gdm)))) |