From cda751105e26c28256169ca9c267d9e2aafd6558 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 22 Apr 2020 15:51:26 +0200 Subject: system: 'operating-system-directory-base-entries' uses 'profile'. * gnu/system.scm (operating-system-directory-base-entries): Use a declarative profile instead of 'profile-derivation'. --- gnu/system.scm | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'gnu/system.scm') diff --git a/gnu/system.scm b/gnu/system.scm index 29e622872d..3a86564fa2 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2016 Chris Marusich @@ -491,22 +491,22 @@ possible (that is if there's a LINUX keyword argument in the build system)." (define* (operating-system-directory-base-entries os) "Return the basic entries of the 'system' directory of OS for use as the value of the SYSTEM-SERVICE-TYPE service." - (let ((locale (operating-system-locale-directory os))) - (mlet* %store-monad ((kernel -> (operating-system-kernel os)) - (modules -> - (operating-system-kernel-loadable-modules os)) - (kernel - (profile-derivation - (packages->manifest - (cons kernel - (map (lambda (module) - (if (package? module) - (package-for-kernel kernel module) - module)) - modules))) - #:hooks (list linux-module-database))) - (initrd -> (operating-system-initrd-file os)) - (params -> (operating-system-boot-parameters-file os))) + (let* ((locale (operating-system-locale-directory os)) + (kernel (operating-system-kernel os)) + (modules (operating-system-kernel-loadable-modules os)) + (kernel (profile + (content (packages->manifest + (cons kernel + (map (lambda (module) + (if (package? module) + (package-for-kernel kernel + module) + module)) + modules)))) + (hooks (list linux-module-database)))) + (initrd (operating-system-initrd-file os)) + (params (operating-system-boot-parameters-file os))) + (with-monad %store-monad (return `(("kernel" ,kernel) ("parameters" ,params) ("initrd" ,initrd) -- cgit v1.2.3 From 0e5c2d5e145118ec47329d6b3a534344d2e89cd3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 22 Apr 2020 16:22:33 +0200 Subject: services: system: Initial entries are non-monadic. * gnu/system.scm (operating-system-directory-base-entries): Return a regular, non-monadic value. * gnu/services.scm (system-derivation): Adjust accordingly. * gnu/system/linux-container.scm (container-essential-services): Likewise. --- gnu/services.scm | 5 ++--- gnu/system.scm | 9 ++++----- gnu/system/linux-container.scm | 6 ++---- 3 files changed, 8 insertions(+), 12 deletions(-) (limited to 'gnu/system.scm') diff --git a/gnu/services.scm b/gnu/services.scm index ada6268a0b..2e4648bf78 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -318,11 +318,10 @@ This is a shorthand for (map (lambda (svc) ...) %base-services)." ;;; Core services. ;;; -(define (system-derivation mentries mextensions) +(define (system-derivation entries mextensions) "Return as a monadic value the derivation of the 'system' directory containing the given entries." - (mlet %store-monad ((entries mentries) - (extensions (mapm/accumulate-builds identity + (mlet %store-monad ((extensions (mapm/accumulate-builds identity mextensions))) (lower-object (file-union "system" diff --git a/gnu/system.scm b/gnu/system.scm index 3a86564fa2..3c511f4089 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -506,11 +506,10 @@ value of the SYSTEM-SERVICE-TYPE service." (hooks (list linux-module-database)))) (initrd (operating-system-initrd-file os)) (params (operating-system-boot-parameters-file os))) - (with-monad %store-monad - (return `(("kernel" ,kernel) - ("parameters" ,params) - ("initrd" ,initrd) - ("locale" ,locale)))))) ;used by libc + `(("kernel" ,kernel) + ("parameters" ,params) + ("initrd" ,initrd) + ("locale" ,locale)))) ;used by libc (define (operating-system-default-essential-services os) "Return the list of essential services for OS. These are special services diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index c8807398b3..c5e2e4bf9c 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson -;;; Copyright © 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2016, 2017, 2019, 2020 Ludovic Courtès ;;; Copyright © 2019 Arun Isaac ;;; Copyright © 2020 Efraim Flashner ;;; @@ -53,9 +53,7 @@ from OS that are needed on the bare metal and not in a container." (operating-system-default-essential-services os))) (cons (service system-service-type - (let ((locale (operating-system-locale-directory os))) - (with-monad %store-monad - (return `(("locale" ,locale)))))) + `(("locale" ,(operating-system-locale-directory os)))) ;; If network is to be shared with the host, remove network ;; configuration files from etc-service. (if shared-network? -- cgit v1.2.3