From 6f13881f1e92832023caadb3cb51ce393e685e58 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Jun 2021 14:31:03 +0200 Subject: installer: Offer the CUPS printing service. * gnu/installer/services.scm (%system-services): Add CUPS. * gnu/installer/newt/services.scm (run-other-services-cbt-page): New procedure. (run-services-page): Call it last. --- gnu/installer/newt/services.scm | 25 ++++++++++++++++++++++++- gnu/installer/services.scm | 9 ++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index 74f28e41ba..1af4e7df2d 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -68,6 +68,28 @@ system.") (condition (&installer-step-abort))))))) +(define (run-other-services-cbt-page) + "Run a page allowing the user to select other services." + (let ((items (filter (lambda (service) + (not (member (system-service-type service) + '(desktop + network-management + networking)))) + %system-services))) + (run-checkbox-tree-page + #:info-text (G_ "You can now select other services to run on your \ +system.") + #:title (G_ "Other services") + #:items items + #:selection (map system-service-recommended? items) + #:item->text (compose G_ system-service-name) + #:checkbox-tree-height 9 + #: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"))) @@ -100,4 +122,5 @@ client may be enough for a server.") (run-networking-cbt-page) (if (null? desktop) (list (run-network-management-page)) - '())))) + '()) + (run-other-services-cbt-page)))) diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm index b0007218ae..341d8b69c8 100644 --- a/gnu/installer/services.scm +++ b/gnu/installer/services.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2021 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,7 +118,13 @@ (system-service (name (G_ "DHCP client (dynamic IP address assignment)")) (type 'network-management) - (snippet '((service dhcp-client-service-type))))))) + (snippet '((service dhcp-client-service-type)))) + + ;; Dealing with documents. + (system-service + (name (G_ "CUPS printing system (no Web interface by default)")) + (type 'document) + (snippet '((service cups-service-type))))))) (define (desktop-system-service? service) "Return true if SERVICE is a desktop environment service." -- cgit v1.2.3