mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
installer: Actually reboot when the user presses "Reboot."
* gnu/installer/newt/final.scm (run-install-success-page): Return 'success. * gnu/installer.scm (installer-program): Check the result of the 'final step and reboot upon success.
This commit is contained in:
parent
9529f7850e
commit
98f035482f
2 changed files with 19 additions and 5 deletions
|
@ -314,6 +314,7 @@ (define installer-builder
|
|||
guile-json guile-git guix)
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
`(,@modules
|
||||
(gnu services herd)
|
||||
(guix build utils))
|
||||
#:select? module-to-import?)
|
||||
((guix config) => ,(make-config.scm)))
|
||||
|
@ -363,10 +364,20 @@ (define installer-builder
|
|||
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(run-installer-steps
|
||||
#:rewind-strategy 'menu
|
||||
#:menu-proc (installer-menu-page current-installer)
|
||||
#:steps steps))
|
||||
(define results
|
||||
(run-installer-steps
|
||||
#:rewind-strategy 'menu
|
||||
#:menu-proc (installer-menu-page current-installer)
|
||||
#:steps steps))
|
||||
|
||||
(match (result-step results 'final)
|
||||
('success
|
||||
;; We did it! Let's reboot!
|
||||
(sync)
|
||||
(stop-service 'root))
|
||||
(_ ;installation failed
|
||||
;; TODO: Honor the result of 'run-install-failed-page'.
|
||||
#f)))
|
||||
(const #f)
|
||||
(lambda (key . args)
|
||||
(let ((error-file "/tmp/last-installer-error"))
|
||||
|
|
|
@ -56,7 +56,10 @@ (define (run-install-success-page)
|
|||
(G_ "Reboot")
|
||||
(G_ "Congratulations! Installation is now complete. \
|
||||
You may remove the device containing the installation image and \
|
||||
press the button to reboot.")))
|
||||
press the button to reboot."))
|
||||
|
||||
;; Return success so that the installer happily reboots.
|
||||
'success)
|
||||
|
||||
(define (run-install-failed-page)
|
||||
(choice-window
|
||||
|
|
Loading…
Reference in a new issue