diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-08-21 18:50:14 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-08-22 00:20:48 +0200 |
commit | aa1145df8d43187f3e92aa505298cdeca4fb1191 (patch) | |
tree | 9f3db5b3bf8d8228232b59f99c7b0599f901e3f0 /gnu/system.scm | |
parent | 9af4983266ea1a1fedfe97bb122779322470275b (diff) | |
download | guix-aa1145df8d43187f3e92aa505298cdeca4fb1191.tar.gz |
services: Make a single extensible 'file-systems' service.
Previously we would create one 'file-system-service-type' instead per file system. Now, we create only one instance for all the file systems. * gnu/services/base.scm (fstab-service-type)[compose]: Change to CONCATENATE. (file-system-shepherd-service): Change to return either one <shepherd-service> or #f. (file-system-service-type): Pluralize 'name'. Adjust SHEPHERD-ROOT-SERVICE-TYPE extension to above changes. Add 'compose' and 'extend'. (file-system-service): Remove. * gnu/system.scm (other-file-system-services): Rename to... (non-boot-file-system-service): ... this. Change to return a single FILE-SYSTEM-SERVICE-TYPE instance. (essential-services): Adjust accordingly.
Diffstat (limited to 'gnu/system.scm')
-rw-r--r-- | gnu/system.scm | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index d6bf6c413c..080201011c 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -178,9 +178,9 @@ ;;; Services. ;;; -(define (other-file-system-services os) - "Return file system services for the file systems of OS that are not marked -as 'needed-for-boot'." +(define (non-boot-file-system-service os) + "Return the file system service for the file systems of OS that are not +marked as 'needed-for-boot'." (define file-systems (remove file-system-needed-for-boot? (operating-system-file-systems os))) @@ -204,7 +204,8 @@ as 'needed-for-boot'." (file-system-dependencies fs)) eq?)))) - (map (compose file-system-service add-dependencies) file-systems)) + (service file-system-service-type + (map add-dependencies file-systems))) (define (mapped-device-user device file-systems) "Return a file system among FILE-SYSTEMS that uses DEVICE, or #f." @@ -270,11 +271,11 @@ a container or that of a \"bare metal\" system." (let* ((mappings (device-mapping-services os)) (root-fs (root-file-system-service)) - (other-fs (other-file-system-services os)) + (other-fs (non-boot-file-system-service os)) (unmount (user-unmount-service known-fs)) (swaps (swap-services os)) (procs (user-processes-service - (map service-parameters other-fs))) + (service-parameters other-fs))) (host-name (host-name-service (operating-system-host-name os))) (entries (operating-system-directory-base-entries os #:container? container?))) @@ -302,7 +303,8 @@ a container or that of a \"bare metal\" system." (operating-system-setuid-programs os)) (service profile-service-type (operating-system-packages os)) - (append other-fs mappings swaps + other-fs + (append mappings swaps ;; Add the firmware service, unless we are building for a ;; container. |