summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-11-16 08:50:44 +0100
committerLudovic Courtès <ludo@gnu.org>2018-11-18 23:37:45 +0100
commit9782c82217f5bdfe8d47a5a3e14af47e3c3e5dd7 (patch)
tree186c29398f5890e6f2ac9537a2678f5e64fabf84 /gnu
parent5ece56dc7385e45542fabc290df420ed6a527918 (diff)
downloadguix-9782c82217f5bdfe8d47a5a3e14af47e3c3e5dd7.tar.gz
system: De-monadify 'operating-system-bootcfg'.
* gnu/system.scm (operating-system-bootcfg): Remove 'mlet*' and
'lower-object' call.
* gnu/system/vm.scm (system-disk-image)
(system-qemu-image/shared-store): Adjust accordingly.
* guix/scripts/system.scm (perform-action): Add 'lower-object' call for
BOOTCFG.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/system.scm20
-rw-r--r--gnu/system/vm.scm10
2 files changed, 14 insertions, 16 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 96b3b7d0e0..1766c8f90f 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -935,21 +935,19 @@ listed in OS.  The C library expects to find it under
 (define* (operating-system-bootcfg os #:optional (old-entries '()))
   "Return the bootloader configuration file for OS.  Use OLD-ENTRIES,
 a list of <menu-entry>, to populate the \"old entries\" menu."
-  (mlet* %store-monad
-      ((root-fs ->  (operating-system-root-file-system os))
-       (root-device -> (file-system-device root-fs))
-       (params -> (operating-system-boot-parameters os root-device
-                                                    #:system-kernel-arguments?
-                                                    #t))
-       (entry -> (boot-parameters->menu-entry params))
-       (bootloader-conf -> (operating-system-bootloader os)))
+  (let* ((root-fs         (operating-system-root-file-system os))
+         (root-device     (file-system-device root-fs))
+         (params          (operating-system-boot-parameters
+                           os root-device
+                           #:system-kernel-arguments? #t))
+         (entry           (boot-parameters->menu-entry params))
+         (bootloader-conf (operating-system-bootloader os)))
     (define generate-config-file
       (bootloader-configuration-file-generator
        (bootloader-configuration-bootloader bootloader-conf)))
 
-    ;; TODO: Remove the 'lower-object' call to make it non-monadic.
-    (lower-object (generate-config-file bootloader-conf (list entry)
-                                        #:old-entries old-entries))))
+    (generate-config-file bootloader-conf (list entry)
+                          #:old-entries old-entries)))
 
 (define* (operating-system-boot-parameters os root-device
                                            #:key system-kernel-arguments?)
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 6064e0f899..e6f0f78120 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -648,8 +648,8 @@ to USB sticks meant to be read-only."
                                     (type file-system-type))
                                   file-systems-to-keep)))))
 
-    (mlet* %store-monad ((os-drv   (operating-system-derivation os))
-                         (bootcfg  (operating-system-bootcfg os)))
+    (mlet* %store-monad ((os-drv     (operating-system-derivation os))
+                         (bootcfg -> (operating-system-bootcfg os)))
       (if (string=? "iso9660" file-system-type)
           (iso9660-image #:name name
                          #:file-system-label root-label
@@ -713,7 +713,7 @@ of the GNU system as described by OS."
                                   file-systems-to-keep)))))
     (mlet* %store-monad
         ((os-drv      (operating-system-derivation os))
-         (bootcfg     (operating-system-bootcfg os)))
+         (bootcfg ->  (operating-system-bootcfg os)))
       (qemu-image  #:os-drv os-drv
                    #:bootcfg-drv bootcfg
                    #:bootloader (bootloader-configuration-bootloader
@@ -827,8 +827,8 @@ bootloader refers to: OS kernel, initrd, bootloader data, etc."
     ;; Use a fixed UUID to improve determinism.
     (operating-system-uuid os 'dce))
 
-  (mlet* %store-monad ((os-drv   (operating-system-derivation os))
-                       (bootcfg  (operating-system-bootcfg os)))
+  (mlet* %store-monad ((os-drv     (operating-system-derivation os))
+                       (bootcfg -> (operating-system-bootcfg os)))
     ;; XXX: When FULL-BOOT? is true, we end up creating an image that contains
     ;; BOOTCFG and all its dependencies, including the output of OS-DRV.
     ;; This is more than needed (we only need the kernel, initrd, GRUB for its