summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2021-12-25 00:54:48 -0500
committerLeo Famulari <leo@famulari.name>2021-12-28 15:26:39 -0500
commit029f8d7c120f80475aee6100e4f682bc7ab8f1f9 (patch)
treecc1388271f3ce434f99143df99ad8e75aab3aa5d
parent9309b488ca4ceef4fcc9283546e3b05c57b16ca8 (diff)
downloadguix-029f8d7c120f80475aee6100e4f682bc7ab8f1f9.tar.gz
installer: Offer the CUPS printing service on a dedicated page.
Currently, the installer page RUN-OTHER-SERVICES-CBT-PAGE offers to the user all
installer services that are not of the types 'desktop', 'network-management', or
'networking'. Concretely, this means that it offers the CUPS printing service,
because that is the only service of a different type defined in the installer.

In later commits, we will add some services of a new type, and we only want them
to be offered when the user is installing a non-graphical system.

At least one of these new services (NTP) is part of %DESKTOP-SERVICES. If it
was also offered on RUN-OTHER-SERVICES-CBT-PAGE, and the user had configured a
system using %DESKTOP-SERVICES, the user could accidentally add NTP to their
services twice, which is an error and would break installation.

So, this commit makes the RUN-OTHER-SERVICES-CBT-PAGE be more specific about
what services to offer. This makes it easier to discriminate between desktop and
non-desktop installations, in terms of when a given service is offered.

* gnu/installer/newt/services.scm (RUN-OTHER-SERVICES-CBT-PAGE): Rename to ...
(RUN-PRINTING-SERVICES-CBT-PAGE): ... new variable, and select only 'document' services.
(RUN-SERVICES-PAGE): Adjust accordingly.
* gnu/installer/tests.scm (CHOOSE-SERVICES): Adjust accordingly.
-rw-r--r--gnu/installer/newt/services.scm16
-rw-r--r--gnu/installer/tests.scm2
2 files changed, 8 insertions, 10 deletions
diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm
index 1af4e7df2d..b4b5219b20 100644
--- a/gnu/installer/newt/services.scm
+++ b/gnu/installer/newt/services.scm
@@ -68,18 +68,16 @@ system.")
         (condition
          (&installer-step-abort)))))))
 
-(define (run-other-services-cbt-page)
-  "Run a page allowing the user to select other services."
+(define (run-printing-services-cbt-page)
+  "Run a page allowing the user to select document services such as CUPS."
   (let ((items (filter (lambda (service)
-                         (not (member (system-service-type service)
-                                      '(desktop
-                                        network-management
-                                        networking))))
+                         (eq? 'document
+                              (system-service-type service)))
                        %system-services)))
     (run-checkbox-tree-page
-     #:info-text (G_ "You can now select other services to run on your \
+     #:info-text (G_ "You can now select the CUPS printing service to run on your \
 system.")
-     #:title (G_ "Other services")
+     #:title (G_ "Printing and document services")
      #:items items
      #:selection (map system-service-recommended? items)
      #:item->text (compose G_ system-service-name)
@@ -123,4 +121,4 @@ client may be enough for a server.")
             (if (null? desktop)
                 (list (run-network-management-page))
                 '())
-            (run-other-services-cbt-page))))
+            (run-printing-services-cbt-page))))
diff --git a/gnu/installer/tests.scm b/gnu/installer/tests.scm
index 12d1d91608..5d931149b8 100644
--- a/gnu/installer/tests.scm
+++ b/gnu/installer/tests.scm
@@ -243,7 +243,7 @@ ROOT-PASSWORD, and USERS."
      (null? desktop-environments)
      (find choose-network-management-tool? services))
 
-    ((checkbox-list (title "Other services") (text _)
+    ((checkbox-list (title "Printing and document services") (text _)
                     (items ,services))
      (filter choose-other-service? services))))