image: Add rock64 support.
[jackhill/guix/guix.git] / gnu / system / examples / yggdrasil.tmpl
CommitLineData
fe1cd098 1;; This is an operating system configuration template
2;; for a "bare bones" setup, with no X11 display server.
3
4(use-modules (gnu))
5(use-service-modules networking ssh)
6(use-package-modules admin curl networking screen)
7
8(operating-system
9 (host-name "ruby-guard-5545")
10 (timezone "Europe/Budapest")
11 (locale "en_US.utf8")
12
13 ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
14 ;; target hard disk, and "my-root" is the label of the target
15 ;; root file system.
16 (bootloader (bootloader-configuration
17 (bootloader grub-bootloader)
18 (target "/dev/sdX")))
19 (file-systems (cons (file-system
20 (device (file-system-label "my-root"))
21 (mount-point "/")
22 (type "ext4"))
23 %base-file-systems))
24 (users (cons (user-account
25 (name "alice")
26 (comment "Bob's sister")
27 (group "users")
28 ;; adding her to the yggdrasil group means she can use
29 ;; yggdrasilctl to modify the configuration
30 (supplementary-groups '("wheel" "yggdrasil")))
31 %base-user-accounts))
32
33 ;; Globally-installed packages.
34 (packages (cons* screen curl %base-packages))
35
36 ;; Add services to the baseline: a DHCP client and
37 ;; an SSH server.
38 ;; If you add an /etc/yggdrasil-private.conf, you can log in to ssh
39 ;; using your Yggdrasil IPv6 address from another machine running Yggdrasil.
40 ;; Alternatively, the client can sit behind a router that has Yggdrasil.
41 ;; That file is specifically _not_ handled by Guix, because we don't want its
42 ;; contents to sit in the world-readable /gnu/store.
43 (services
44 (append
45 (list
46 (service dhcp-client-service-type)
47 (service yggdrasil-service-type
48 (yggdrasil-configuration
49 (log-to 'stdout)
50 (log-level 'debug)
51 (autoconf? #f)
52 (json-config
53 ;; choose a few from
54 ;; https://github.com/yggdrasil-network/public-peers
55 '((peers . #("tcp://1.2.3.4:1337"))))
56 (config-file #f)))
57 (service openssh-service-type
58 (openssh-configuration
59 (port-number 2222))))
60 %base-services)))