Subject: [bug#41541] [PATCH 3/4] system: bare-hurd.tmpl: Add openssh client and service.

From: "Jan (janneke) Nieuwenhuizen" <[email-masked]>
Date: Mon, 8 Jun 2020 14:58:01 +0200

This:

    ./pre-inst-env guix system disk-image --no-grafts --target=i586-pc-gnu \
        gnu/system/examples/bare-hurd.tmpl

now produces a VM image with functional ssh daemon that you may run like

    guix environment --ad-hoc qemu -- qemu-system-i386 -enable-kvm -m 512M \
     -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
     -snapshot -hda <the-image>

and use like

    ssh -p 10022 root@localhost
    guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'

or even (if you use --image-size=3G)

    guix build hello

* gnu/system/examples/bare-hurd.tmpl (%hurd-os)[packages]: Add openssh.
[services]: Add openssh-service.
---
 gnu/system/examples/bare-hurd.tmpl | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl
index 16f20416aa..6b421550b7 100644
--- a/gnu/system/examples/bare-hurd.tmpl
+++ b/gnu/system/examples/bare-hurd.tmpl
@@ -11,6 +11,8 @@
 ;; it boots, but needs activation, more setup and services to be useful.
 
 (use-modules (gnu) (gnu system hurd) (guix utils))
+(use-service-modules ssh)
+(use-package-modules ssh)
 
 (define %hurd-os
   (operating-system
@@ -25,7 +27,14 @@
                         %base-file-systems))
     (host-name "guixygnu")
     (timezone "Europe/Amsterdam")
-    (packages %base-packages/hurd)
-    (services %base-services/hurd)))
+    (packages (cons openssh %base-packages/hurd))
+    (services (cons (service openssh-service-type
+                             (openssh-configuration
+                              (use-pam? #f)
+                              (port-number 2222)
+                              (permit-root-login #t)
+                              (allow-empty-passwords? #t)
+                              (password-authentication? #t)))
+               %base-services/hurd))))
 
 %hurd-os
-- 
2.26.2