installer: Recommend 'ntp-service-type' for non-graphical systems.
We had several bug reports with a root cause of "the clock was incorrect" from users who used the installer to install a non-graphical Guix System. * gnu/installer/services.scm (%system-services): Add the ntp-service-type. * gnu/installer/newt/services.scm (run-system-administration-cbt-page): New variable. (run-services-page): Use run-system-administration-cbt-page when not installing a desktop. * gnu/installer/tests.scm (choose-services): Add and use a choose-misc-service? procedure. * gnu/tests/install.scm (installation-target-os-for-gui-tests)<services>: Add ntp-service-type.
This commit is contained in:
parent
029f8d7c12
commit
2842a42b51
4 changed files with 44 additions and 3 deletions
|
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
|
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
|
@ -88,6 +89,27 @@ system.")
|
||||||
(condition
|
(condition
|
||||||
(&installer-step-abort)))))))
|
(&installer-step-abort)))))))
|
||||||
|
|
||||||
|
(define (run-console-services-cbt-page)
|
||||||
|
"Run a page to select various system adminstration services for non-graphical
|
||||||
|
systems."
|
||||||
|
(let ((items (filter (lambda (service)
|
||||||
|
(eq? 'administration
|
||||||
|
(system-service-type service)))
|
||||||
|
%system-services)))
|
||||||
|
(run-checkbox-tree-page
|
||||||
|
#:title (G_ "Console services")
|
||||||
|
#:info-text (G_ "Select miscellaneous services to run on your \
|
||||||
|
non-graphical system.")
|
||||||
|
#:items items
|
||||||
|
#:selection (map system-service-recommended? items)
|
||||||
|
#:item->text (compose G_ system-service-name)
|
||||||
|
#:checkbox-tree-height 5
|
||||||
|
#:exit-button-callback-procedure
|
||||||
|
(lambda ()
|
||||||
|
(raise
|
||||||
|
(condition
|
||||||
|
(&installer-step-abort)))))))
|
||||||
|
|
||||||
(define (run-network-management-page)
|
(define (run-network-management-page)
|
||||||
"Run a page to select among several network management methods."
|
"Run a page to select among several network management methods."
|
||||||
(let ((title (G_ "Network management")))
|
(let ((title (G_ "Network management")))
|
||||||
|
|
@ -119,6 +141,7 @@ client may be enough for a server.")
|
||||||
(append desktop
|
(append desktop
|
||||||
(run-networking-cbt-page)
|
(run-networking-cbt-page)
|
||||||
(if (null? desktop)
|
(if (null? desktop)
|
||||||
(list (run-network-management-page))
|
(cons (run-network-management-page)
|
||||||
|
(run-console-services-cbt-page))
|
||||||
'())
|
'())
|
||||||
(run-printing-services-cbt-page))))
|
(run-printing-services-cbt-page))))
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
|
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
|
@ -104,6 +105,13 @@
|
||||||
(packages '((specification->package "nss-certs")))
|
(packages '((specification->package "nss-certs")))
|
||||||
(recommended? #t))
|
(recommended? #t))
|
||||||
|
|
||||||
|
;; Miscellaneous system administration services.
|
||||||
|
(system-service
|
||||||
|
(name (G_ "Network time service (NTP), to set the clock automatically"))
|
||||||
|
(type 'administration)
|
||||||
|
(recommended? #t)
|
||||||
|
(snippet '((service ntp-service-type))))
|
||||||
|
|
||||||
;; Network connectivity management.
|
;; Network connectivity management.
|
||||||
(system-service
|
(system-service
|
||||||
(name (G_ "NetworkManager network connection manager"))
|
(name (G_ "NetworkManager network connection manager"))
|
||||||
|
|
|
||||||
|
|
@ -221,7 +221,11 @@ ROOT-PASSWORD, and USERS."
|
||||||
(choose-network-management-tool?
|
(choose-network-management-tool?
|
||||||
(lambda (service)
|
(lambda (service)
|
||||||
(string-contains service "DHCP")))
|
(string-contains service "DHCP")))
|
||||||
|
(choose-misc-service?
|
||||||
|
(lambda (service)
|
||||||
|
(string-contains service "NTP")))
|
||||||
(choose-other-service? (const #f)))
|
(choose-other-service? (const #f)))
|
||||||
|
|
||||||
"Converse over PORT to choose services."
|
"Converse over PORT to choose services."
|
||||||
(define desktop-environments '())
|
(define desktop-environments '())
|
||||||
|
|
||||||
|
|
@ -243,6 +247,11 @@ ROOT-PASSWORD, and USERS."
|
||||||
(null? desktop-environments)
|
(null? desktop-environments)
|
||||||
(find choose-network-management-tool? services))
|
(find choose-network-management-tool? services))
|
||||||
|
|
||||||
|
((checkbox-list (title "Console services") (text _)
|
||||||
|
(items ,services))
|
||||||
|
(null? desktop-environments)
|
||||||
|
(filter choose-misc-service? services))
|
||||||
|
|
||||||
((checkbox-list (title "Printing and document services") (text _)
|
((checkbox-list (title "Printing and document services") (text _)
|
||||||
(items ,services))
|
(items ,services))
|
||||||
(filter choose-other-service? services))))
|
(filter choose-other-service? services))))
|
||||||
|
|
|
||||||
|
|
@ -1685,8 +1685,9 @@ build (current-guix) and then store a couple of full system images.")
|
||||||
(list
|
(list
|
||||||
(swap-space
|
(swap-space
|
||||||
(target (uuid "11111111-2222-3333-4444-123456789abc"))))))
|
(target (uuid "11111111-2222-3333-4444-123456789abc"))))))
|
||||||
(services (cons (service dhcp-client-service-type)
|
(services (cons* (service dhcp-client-service-type)
|
||||||
(operating-system-user-services %minimal-os-on-vda)))))
|
(service ntp-service-type)
|
||||||
|
(operating-system-user-services %minimal-os-on-vda)))))
|
||||||
|
|
||||||
(define* (installation-target-desktop-os-for-gui-tests
|
(define* (installation-target-desktop-os-for-gui-tests
|
||||||
#:key (encrypted? #f))
|
#:key (encrypted? #f))
|
||||||
|
|
|
||||||
Reference in a new issue