From a673889da5621367c01d419464d9ecb66e6e81cd Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Tue, 7 Apr 2020 10:30:54 +0200 Subject: services: Add file-system utils to profile. * gnu/services/base.scm (file-system-type->utils, file-system-utils): New procedure. (file-system-service-type): Extend 'profile-service-type' with 'file-system-utils'. * gnu/system.scm (boot-file-system-service): New procedure... (operating-system-default-essential-services): ... use it. (%base-packages): Remove 'e2fsprogs'. * gnu/system/file-systems.scm (file-system): Add 'utils?' field. --- gnu/system.scm | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'gnu/system.scm') diff --git a/gnu/system.scm b/gnu/system.scm index fd456c6206..d86098fbe0 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Meiyo Peng ;;; Copyright © 2020 Danny Milosavljevic +;;; Copyright © 2020 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -418,6 +419,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 adding to the system profile the file system utils +packages for the file systems of OS that are marked as 'needed-for-boot'." + (let ((file-systems (filter file-system-needed-for-boot? + (operating-system-file-systems os)))) + (simple-service 'boot-file-system-utils profile-service-type + (file-system-utils file-systems)))) + (define (mapped-device-users device file-systems) "Return the subset of FILE-SYSTEMS that use DEVICE." (let ((target (string-append "/dev/mapper/" (mapped-device-target device)))) @@ -504,13 +513,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) %boot-service @@ -537,7 +547,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. @@ -607,7 +617,7 @@ of PROVENANCE-SERVICE-TYPE to its services." ;; already depends on it anyway. kmod eudev - e2fsprogs kbd + kbd bash-completion -- cgit v1.2.3