guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

08/10: services: gdm: Make dependencies explicit.


From: guix-commits
Subject: 08/10: services: gdm: Make dependencies explicit.
Date: Sat, 16 Feb 2019 18:05:24 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 7e61419892aa68f7238e50e71f6e69a2e6a53211
Author: Timothy Sample <address@hidden>
Date:   Wed Feb 13 14:22:20 2019 -0500

    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 <address@hidden>
---
 gnu/services/xorg.scm | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 6a58977..4e6f5ad 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))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]