From 15955e9b54b8d9c1275d68a0f2b6ccbc5f6c3878 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 17 Sep 2020 15:45:04 +0100 Subject: services: guix: Add guix-build-coordinator-service-type. * gnu/services/guix.scm (): New record type. (guix-build-coordinator-configuration, guix-build-coordinator-configuration?, guix-build-coordinator-configuration-package, guix-build-coordinator-configuration-user, guix-build-coordinator-configuration-group, guix-build-coordinator-configuration-datastore-uri-string, guix-build-coordinator-configuration-agent-communication-uri-string, guix-build-coordinator-configuration-client-communication-uri-string, guix-build-coordinator-configuration-allocation-strategy, guix-build-coordinator-configuration-hooks, guix-build-coordinator-configuration-guile, make-guix-build-coordinator-start-script, guix-build-coordinator-shepherd-services, guix-build-coordinator-activation, guix-build-coordinator-account): New procedures. (guix-build-coordinator-service-type): New variable. * gnu/tests/guix.scm (%test-guix-build-coordinator): New variable. * doc/guix.texi (Guix Services): Document it. --- gnu/tests/guix.scm | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) (limited to 'gnu/tests') diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm index 6139e31cf0..20b67d55d3 100644 --- a/gnu/tests/guix.scm +++ b/gnu/tests/guix.scm @@ -35,7 +35,80 @@ #:use-module (guix store) #:use-module (guix utils) #:use-module (ice-9 match) - #:export (%test-guix-data-service)) + #:export (%test-guix-build-coordinator + %test-guix-data-service)) + +;;; +;;; Guix Build Coordinator +;;; + +(define %guix-build-coordinator-os + (simple-operating-system + (service dhcp-client-service-type) + (service guix-build-coordinator-service-type))) + +(define (run-guix-build-coordinator-test) + (define os + (marionette-operating-system + %guix-build-coordinator-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define forwarded-port 8745) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 1024) + (port-forwardings `((,forwarded-port . 8745))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "guix-build-coordinator") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'guix-build-coordinator) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-equal "http-get" + 200 + (let-values + (((response text) + (http-get #$(simple-format + #f "http://localhost:~A/metrics" forwarded-port) + #:decode-body? #t))) + (response-code response))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "guix-build-coordinator-test" test)) + +(define %test-guix-build-coordinator + (system-test + (name "guix-build-coordinator") + (description "Connect to a running Guix Build Coordinator.") + (value (run-guix-build-coordinator-test)))) ;;; -- cgit 1.4.1 From 1197b8b20f4fca4ce03bbc5fa75e18d54e3717c0 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 11 Oct 2020 12:45:00 +0200 Subject: installer: Add Emacs EXWM desktop environment. Suggested by zenny via IRC. * gnu/installer/services.scm (%system-services): Add emacs, emacs-exwm, emacs-desktop-environment. * etc/release-manifest.scm (%system-packages): Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests) [packages]: Likewise * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Make one entry taller. --- etc/release-manifest.scm | 2 ++ gnu/installer/newt/services.scm | 3 ++- gnu/installer/services.scm | 6 ++++++ gnu/system/examples/lightweight-desktop.tmpl | 4 +++- gnu/tests/install.scm | 5 ++++- 5 files changed, 17 insertions(+), 3 deletions(-) (limited to 'gnu/tests') diff --git a/etc/release-manifest.scm b/etc/release-manifest.scm index caa200c673..7f54fe8768 100644 --- a/etc/release-manifest.scm +++ b/etc/release-manifest.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ludovic Courtès +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,7 @@ TARGET." (append (map specification->package '("xorg-server" "xfce" "gnome" "mate" "enlightenment" "openbox" "awesome" "i3-wm" "ratpoison" + "emacs" "emacs-exwm" "emacs-desktop-environment" "xlockmore" "slock" "libreoffice" "connman" "network-manager" "network-manager-applet" "openssh" "ntp" "tor" diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index 4f32d9077b..6d431cb4bb 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,7 @@ choose the one to use on the log-in screen.") #:items items #:selection (map system-service-recommended? items) #:item->text system-service-name ;no i18n for DE names - #:checkbox-tree-height 8 + #:checkbox-tree-height 9 #:exit-button-callback-procedure (lambda () (raise diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm index dbac79196d..ec5ea30594 100644 --- a/gnu/installer/services.scm +++ b/gnu/installer/services.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,11 @@ (name "ratpoison") (packages '((specification->package "ratpoison") (specification->package "xterm")))) + (desktop-environment + (name "Emacs EXWM") + (packages '((specification->package "emacs") + (specification->package "emacs-exwm") + (specification->package "emacs-desktop-environment")))) ;; Networking. (system-service diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl index b4037d4f79..d5a63dc457 100644 --- a/gnu/system/examples/lightweight-desktop.tmpl +++ b/gnu/system/examples/lightweight-desktop.tmpl @@ -4,7 +4,8 @@ (use-modules (gnu) (gnu system nss)) (use-service-modules desktop) -(use-package-modules bootloaders certs ratpoison suckless wm xorg) +(use-package-modules bootloaders certs emacs emacs-xyz ratpoison suckless wm + xorg) (operating-system (host-name "antelope") @@ -43,6 +44,7 @@ (packages (append (list ;; window managers ratpoison i3-wm i3status dmenu + emacs emacs-exwm emacs-desktop-environment ;; terminal emulator xterm ;; for HTTPS access diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index dee2b870e8..86bd93966b 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -35,6 +35,8 @@ #:use-module (gnu packages bootloaders) #:use-module (gnu packages commencement) ;for 'guile-final' #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages linux) #:use-module (gnu packages ocr) #:use-module (gnu packages openbox) @@ -1271,7 +1273,8 @@ build (current-guix) and then store a couple of full system images.") ;; graphical installer are available. (packages (append (list openbox awesome i3-wm i3status - dmenu st ratpoison xterm) + dmenu st ratpoison xterm + emacs emacs-exwm emacs-desktop-environment) %base-packages)) (services (append -- cgit 1.4.1