guix system: Use 'mbegin' for 'install'.
* guix/scripts/system.scm (install): Use 'mbegin'. Lift FORMAT and POPULATE-ROOT-FILE-SYSTEM, and use the result.
This commit is contained in:
parent
f4c4513d47
commit
cc7fa5929c
|
@ -151,18 +151,22 @@ When GRUB? is true, install GRUB on DEVICE, using GRUB.CFG."
|
||||||
;; Copy items to the new store.
|
;; Copy items to the new store.
|
||||||
(copy-closure to-copy target #:log-port log-port)))))
|
(copy-closure to-copy target #:log-port log-port)))))
|
||||||
|
|
||||||
(mlet* %store-monad ((os-dir -> (derivation->output-path os-drv))
|
(let ((os-dir (derivation->output-path os-drv))
|
||||||
(% (maybe-copy os-dir)))
|
(format (lift %store-monad format))
|
||||||
|
(populate (lift2 %store-monad populate-root-file-system)))
|
||||||
|
|
||||||
;; Create a bunch of additional files.
|
(mbegin %store-monad
|
||||||
(format log-port "populating '~a'...~%" target)
|
(maybe-copy os-dir)
|
||||||
(populate-root-file-system os-dir target)
|
|
||||||
|
|
||||||
(when grub?
|
;; Create a bunch of additional files.
|
||||||
(unless (false-if-exception (install-grub grub.cfg device target))
|
(format log-port "populating '~a'...~%" target)
|
||||||
(leave (_ "failed to install GRUB on device '~a'~%") device)))
|
(populate os-dir target)
|
||||||
|
|
||||||
(return #t)))
|
(begin
|
||||||
|
(when grub?
|
||||||
|
(unless (false-if-exception (install-grub grub.cfg device target))
|
||||||
|
(leave (_ "failed to install GRUB on device '~a'~%") device)))
|
||||||
|
(return #t)))))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
Loading…
Reference in New Issue