@@ -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.
;;;
@@ -68,6 +69,25 @@ system.")
(condition
(&installer-step-abort)))))))
+(define (run-system-administration-cbt-page)
+ "Run a page to select various system adminstration services."
+ (let ((items (filter (lambda (service)
+ (eq? 'administration
+ (system-service-type service)))
+ %system-services)))
+ (run-checkbox-tree-page
+ #:title (G_ "Miscellaneous services")
+ #:info-text (G_ "Select miscellaneous services to run on your 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")))
@@ -99,5 +119,6 @@ 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-system-administration-cbt-page))
'()))))
@@ -2,6 +2,7 @@
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; 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"))
@@ -220,7 +220,11 @@ ROOT-PASSWORD, and USERS."
(string-contains service "NSS"))))
(choose-network-management-tool?
(lambda (service)
- (string-contains service "DHCP"))))
+ (string-contains service "DHCP")))
+ (choose-misc-service?
+ (lambda (service)
+ (string-contains service "NTP"))))
+
"Converse over PORT to choose networking services."
(define desktop-environments '())
@@ -240,7 +244,10 @@ ROOT-PASSWORD, and USERS."
(multiple-choices? #f)
(items ,services))
(null? desktop-environments)
- (find choose-network-management-tool? services))))
+ (find choose-network-management-tool? services))
+ ((checkbox-list (title "Miscellaneous services") (text _)
+ (items ,services))
+ (filter choose-misc-service? services))))
(define (edit-configuration-file file)
"Edit FILE, an operating system configuration file generated by the
--
2.31.1
From 8fa2cd50e36835358c0533ded36674d5499b76fe Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Fri, 23 Apr 2021 20:42:28 -0400
Subject: [PATCH v4 2/2] installer: Offer 'gpm-service-type' for non-graphical
systems.
* gnu/installer/services.scm (%system-services): Add the gpm-service-type.
---
gnu/installer/services.scm | 4 ++++
1 file changed, 4 insertions(+)
@@ -111,6 +111,10 @@
(type 'administration)
(recommended? #t)
(snippet '((service ntp-service-type))))
+ (system-service
+ (name (G_ "GPM mouse daemon, to use the mouse in the console"))
+ (type 'administration)
+ (snippet '((service gpm-service-type))))
;; Network connectivity management.
(system-service