diff mbox series

[bug#40207,1/2] installer: tests: Use a filter to select desktop-environments.

Message ID 20200324083626.30650-1-m.othacehe@gmail.com
State Accepted
Headers show
Series Add a desktop graphical installer test. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Mathieu Othacehe March 24, 2020, 8:36 a.m. UTC
* gnu/installer/tests.scm (choose-services): Turn desktop-environments list
into a choose-desktop-environment procedure. This way, it is easier to select
all desktop-environments or none, in the same way as choose-network-service?
and choose-network-management-tool? arguments.
---
 gnu/installer/tests.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Comments

Ludovic Courtès March 24, 2020, 10:31 a.m. UTC | #1
Hi Mathieu,

Mathieu Othacehe <m.othacehe@gmail.com> skribis:

> * gnu/installer/tests.scm (choose-services): Turn desktop-environments list
> into a choose-desktop-environment procedure. This way, it is easier to select
> all desktop-environments or none, in the same way as choose-network-service?
> and choose-network-management-tool? arguments.

[...]

> +     (let ((services* (filter choose-desktop-environment? services)))
> +       (set! desktop-environments services*)
> +       services*))

Maybe rename ‘services*’ to ‘desktops’?

‘set!’ hurts my eyes :-) but let’s get over it.  Eventually we can
change convert to run expressions in ‘%state-monad’ or something.

Ludo’.
Mathieu Othacehe March 24, 2020, 10:35 a.m. UTC | #2
Hey!

> Maybe rename ‘services*’ to ‘desktops’?
>
> ‘set!’ hurts my eyes :-) but let’s get over it.  Eventually we can
> change convert to run expressions in ‘%state-monad’ or something.

Heh, also feel terribly guilty when using it :)

Thanks for reviewing,

Mathieu
diff mbox series

Patch

diff --git a/gnu/installer/tests.scm b/gnu/installer/tests.scm
index 6f5393e3ab..07f3121083 100644
--- a/gnu/installer/tests.scm
+++ b/gnu/installer/tests.scm
@@ -1,5 +1,6 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -211,7 +212,7 @@  ROOT-PASSWORD, and USERS."
 
 (define* (choose-services port
                           #:key
-                          (desktop-environments '("GNOME"))
+                          (choose-desktop-environment? (const #f))
                           (choose-network-service?
                            (lambda (service)
                              (or (string-contains service "SSH")
@@ -220,10 +221,14 @@  ROOT-PASSWORD, and USERS."
                            (lambda (service)
                              (string-contains service "DHCP"))))
   "Converse over PORT to choose networking services."
+  (define desktop-environments '())
+
   (converse port
     ((checkbox-list (title "Desktop environment") (text _)
-                    (items _))
-     desktop-environments)
+                    (items ,services))
+     (let ((services* (filter choose-desktop-environment? services)))
+       (set! desktop-environments services*)
+       services*))
     ((checkbox-list (title "Network service") (text _)
                     (items ,services))
      (filter choose-network-service? services))