~ruther/guix-local

9aa7f05639fe42ab49506a90baceee9affc45573 — Dariqq 3 months ago f1f27c6
services: file-systems: Make user-file-systems depend on file-systems.

Previously 'user-file-systems depended only on 'file-systems without any requirements.
This inverts the logic to have
file-systems <- user-file-systems <- user-processes

to ensure that all user mounts are already unmounted when shepherd managed
file systems get unmounted.

Fixes: guix/guix#4445
Fixes: guix/guix#1703

* gnu/services/base.scm (file-system-shepherd-services): Remove requirement
of 'file-systems on 'user-file-systems.
Add dependency of 'user-file-systems on 'file-systems.
(file-system-service-type): Add 'user-file-systems to user-processes extension.

Change-Id: I9d89f682fb4b4673fa135d17b2b188788b9f8db1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
1 files changed, 6 insertions(+), 2 deletions(-)

M gnu/services/base.scm
M gnu/services/base.scm => gnu/services/base.scm +6 -2
@@ 489,7 489,7 @@ upon boot."
    (define sink
      (shepherd-service
       (provision '(file-systems))
       (requirement (cons* 'root-file-system 'user-file-systems
       (requirement (cons* 'root-file-system
                           (map file-system->shepherd-service-name
                                ;; Do not require file systems with Shepherd
                                ;; requirements to provision


@@ 510,6 510,9 @@ upon boot."
      (shepherd-service
       (documentation "Unmount manually-mounted file systems.")
       (provision '(user-file-systems))
       ;; Unmount manually-mounted file systems before shepherd-managed
       ;; ones, e.g /run/user/$UID and /run/user.
       (requirement '(file-systems))
       (start #~(const #t))
       (stop #~(lambda args
                 (define (known? mount-point)


@@ 591,7 594,8 @@ FILE-SYSTEMS."

                       ;; Have 'user-processes' depend on 'file-systems'.
                       (service-extension user-processes-service-type
                                          (const '(file-systems)))))
                                          (const '(file-systems
                                                   user-file-systems)))))
                (compose concatenate)
                (extend append)
                (description