1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-27 03:21:49 +02:00

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:
Leo Famulari
2021-04-23 14:50:15 -04:00
parent 029f8d7c12
commit 2842a42b51
4 changed files with 44 additions and 3 deletions
+24 -1
View File
@@ -3,6 +3,7 @@
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -88,6 +89,27 @@ system.")
(condition
(&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)
"Run a page to select among several network management methods."
(let ((title (G_ "Network management")))
@@ -119,6 +141,7 @@ client may be enough for a server.")
(append desktop
(run-networking-cbt-page)
(if (null? desktop)
(list (run-network-management-page))
(cons (run-network-management-page)
(run-console-services-cbt-page))
'())
(run-printing-services-cbt-page))))
+8
View File
@@ -3,6 +3,7 @@
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -104,6 +105,13 @@
(packages '((specification->package "nss-certs")))
(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.
(system-service
(name (G_ "NetworkManager network connection manager"))
+9
View File
@@ -221,7 +221,11 @@ ROOT-PASSWORD, and USERS."
(choose-network-management-tool?
(lambda (service)
(string-contains service "DHCP")))
(choose-misc-service?
(lambda (service)
(string-contains service "NTP")))
(choose-other-service? (const #f)))
"Converse over PORT to choose services."
(define desktop-environments '())
@@ -243,6 +247,11 @@ ROOT-PASSWORD, and USERS."
(null? desktop-environments)
(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 _)
(items ,services))
(filter choose-other-service? services))))