system: bare-hurd.tmpl: Add openssh-sans-x client and service.
[jackhill/guix/guix.git] / gnu / system / examples / bare-hurd.tmpl
1 ;; -*-scheme-*-
2
3 ;; This is an operating system configuration template
4 ;; for a "bare bones" setup, with no X11 display server.
5
6 ;; To build a disk image for a virtual machine, do
7 ;;
8 ;; ./pre-inst-env guix system disk-image --target=i586-pc-gnu \
9 ;; gnu/system/examples/bare-hurd.tmpl
10 ;;
11 ;; You may run it like so
12 ;;
13 ;; guix environment --ad-hoc qemu -- qemu-system-i386 -enable-kvm -m 512M \
14 ;; -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
15 ;; -snapshot -hda <the-image>
16 ;;
17 ;; and use it like
18 ;;
19 ;; ssh -p 10022 root@localhost
20 ;; guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
21 ;;
22 ;; or even (if you use --image-size=3G)
23 ;;
24 ;; guix build hello
25
26 (use-modules (gnu) (gnu system hurd) (guix utils))
27 (use-service-modules ssh)
28 (use-package-modules ssh)
29
30 (define %hurd-os
31 (operating-system
32 (inherit %hurd-default-operating-system)
33 (bootloader (bootloader-configuration
34 (bootloader grub-minimal-bootloader)
35 (target "/dev/sdX")))
36 (file-systems (cons (file-system
37 (device (file-system-label "my-root"))
38 (mount-point "/")
39 (type "ext2"))
40 %base-file-systems))
41 (host-name "guixygnu")
42 (timezone "Europe/Amsterdam")
43 (packages (cons openssh-sans-x %base-packages/hurd))
44 (services (cons (service openssh-service-type
45 (openssh-configuration
46 (openssh openssh-sans-x)
47 (use-pam? #f)
48 (port-number 2222)
49 (permit-root-login #t)
50 (allow-empty-passwords? #t)
51 (password-authentication? #t)))
52 %base-services/hurd))))
53
54 %hurd-os