diff options
author | Brice Waegeneire <brice@waegenei.re> | 2020-04-23 14:00:02 +0200 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-09-28 19:45:38 -0400 |
commit | 45eac6cdf5c8d9d7b0c564b105c790d2d2007799 (patch) | |
tree | c8457ca77ec0df19e76e49280eaa25646d160974 /gnu/system.scm | |
parent | bb762ac517ff5ab4e55a0efb7e1b534c36c2b7c3 (diff) |
services: Add file system utilities to profile.
* gnu/services/base.scm (file-system-type->utilities)
(file-system-utilities): New procedures.
(file-system-service-type): Extend 'profile-service-type' with
'file-system-utilities'.
* gnu/system.scm (boot-file-system-service): New procedure.
(operating-system-default-essential-services): Use it.
(%base-packages): Remove 'e2fsprogs'.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu/system.scm')
-rw-r--r-- | gnu/system.scm | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index a94f0a9a1f..66ca629d63 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -575,6 +575,14 @@ marked as 'needed-for-boot'." (service file-system-service-type (map add-dependencies file-systems))) +(define (boot-file-system-service os) + "Return a service which adds, to the system profile, packages providing the +utilites for the file systems marked as 'needed-for-boot' in OS." + (let ((file-systems (filter file-system-needed-for-boot? + (operating-system-file-systems os)))) + (simple-service 'boot-file-system-utilities profile-service-type + (file-system-utilities file-systems)))) + (define (mapped-device-users device file-systems) "Return the subset of FILE-SYSTEMS that use DEVICE." (let ((targets (map (cut string-append "/dev/mapper/" <>) @@ -720,13 +728,14 @@ bookkeeping." (define known-fs (map file-system-mount-point (operating-system-file-systems os))) - (let* ((mappings (device-mapping-services os)) - (root-fs (root-file-system-service)) - (other-fs (non-boot-file-system-service os)) - (swaps (swap-services os)) - (procs (service user-processes-service-type)) - (host-name (host-name-service (operating-system-host-name os))) - (entries (operating-system-directory-base-entries os))) + (let* ((mappings (device-mapping-services os)) + (root-fs (root-file-system-service)) + (boot-fs (boot-file-system-service os)) + (non-boot-fs (non-boot-file-system-service os)) + (swaps (swap-services os)) + (procs (service user-processes-service-type)) + (host-name (host-name-service (operating-system-host-name os))) + (entries (operating-system-directory-base-entries os))) (cons* (service system-service-type entries) (service linux-builder-service-type (linux-builder-configuration @@ -757,7 +766,7 @@ bookkeeping." (operating-system-setuid-programs os)) (service profile-service-type (operating-system-packages os)) - other-fs + boot-fs non-boot-fs (append mappings swaps ;; Add the firmware service. @@ -887,8 +896,9 @@ of PROVENANCE-SERVICE-TYPE to its services." iw wireless-tools)) (define %base-packages-disk-utilities - ;; A well-rounded set of packages for interacting with disks, partitions - ;; and filesystems. + ;; A well-rounded set of packages for interacting with disks, + ;; partitions and filesystems, included with the Guix installation + ;; image. (list parted gptfdisk ddrescue ;; We used to provide fdisk from GNU fdisk, but as of version 2.0.0a ;; it pulls Guile 1.8, which takes unreasonable space; furthermore @@ -903,8 +913,7 @@ of PROVENANCE-SERVICE-TYPE to its services." (define %base-packages ;; Default set of packages globally visible. It should include anything ;; required for basic administrator tasks. - (append (list e2fsprogs) - %base-packages-artwork + (append %base-packages-artwork %base-packages-interactive %base-packages-linux %base-packages-networking |