services: elogind: Provide '%elogind-file-systems' by extension.
authorLudovic Courtès <ludo@gnu.org>
Sun, 21 Aug 2016 17:03:29 +0000 (19:03 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sun, 21 Aug 2016 22:20:48 +0000 (00:20 +0200)
* gnu/system/file-systems.scm (%base-file-systems): Remove
%ELOGIND-FILE-SYSTEMS.
* gnu/services/desktop.scm (elogind-service-type): Extend
FILE-SYSTEM-SERVICE-TYPE to provide %ELOGIND-FILE-SYSTEMS.

gnu/services/desktop.scm
gnu/system/file-systems.scm

index bf21707..df93bc8 100644 (file)
@@ -27,6 +27,8 @@
   #:use-module (gnu services avahi)
   #:use-module (gnu services xorg)
   #:use-module (gnu services networking)
+  #:use-module ((gnu system file-systems)
+                #:select (%elogind-file-systems))
   #:use-module (gnu system shadow)
   #:use-module (gnu system pam)
   #:use-module (gnu packages glib)
@@ -760,7 +762,11 @@ seats.)"
 
                        ;; Extend PAM with pam_elogind.so.
                        (service-extension pam-root-service-type
-                                          pam-extension-procedure)))))
+                                          pam-extension-procedure)
+
+                       ;; We need /run/user, /run/systemd, etc.
+                       (service-extension file-system-service-type
+                                          (const %elogind-file-systems))))))
 
 (define* (elogind-service #:key (config (elogind-configuration)))
   "Return a service that runs the @command{elogind} login and seat management
index 116e281..0dc472e 100644 (file)
@@ -257,7 +257,6 @@ TARGET in the other system."
   (append (list %pseudo-terminal-file-system
                 %shared-memory-file-system
                 %immutable-store)
-          %elogind-file-systems
           %control-groups))
 
 ;; File systems for Linux containers differ from %base-file-systems in that