summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/system/shadow.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 42480e823c..a6f1d806cf 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
@@ -314,9 +314,7 @@ accounts among ACCOUNTS+GROUPS."
   ;;
   ;; XXX: We arrange for this service to stop right after it's done its job so
   ;; that 'guix system reconfigure' knows that it can reload it fearlessly
-  ;; (and thus create new home directories).  The cost of this hack is that
-  ;; there's a small window during which first-time logins could happen before
-  ;; the home directory has been created.
+  ;; (and thus create new home directories).
   (list (shepherd-service
          (requirement '(file-systems))
          (provision '(user-homes))
@@ -374,6 +372,11 @@ the /etc/skel directory for those."
                                           account-activation)
                        (service-extension shepherd-root-service-type
                                           account-shepherd-service)
+                       ;; Have 'user-processes' depend on 'user-homes' so that
+                       ;; daemons start after their home directory has been
+                       ;; created.
+                       (service-extension user-processes-service-type
+                                          (const '(user-homes)))
                        (service-extension etc-service-type
                                           etc-files)))))