Files
guix-tribes/examples/phase0-system.scm

50 lines
1.5 KiB
Scheme

(define-module (examples phase0-system)
#:use-module (gnu)
#:use-module (gnu services base)
#:use-module (gnu services networking)
#:use-module (gnu services ssh)
#:use-module (gnu system mapped-devices)
#:use-module (nbde system initrd)
#:use-module (nbde system mapped-devices))
;; Phase-0 reference system for NBDE development. The device names and
;; interface name are intentionally simple defaults for an x86_64 QEMU guest.
(operating-system
(host-name "nbde-phase0")
(timezone "Etc/UTC")
(locale "en_US.UTF-8")
(keyboard-layout (keyboard-layout "us"))
(kernel-arguments (list "console=ttyS0"))
(initrd
(lambda (file-systems . rest)
(apply clevis-initrd file-systems
#:network (nbde-network-configuration
(interface "eth0")
(timeout 20))
rest)))
(bootloader
(bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/vda"))))
(mapped-devices
(list
(mapped-device
(source "/dev/vda2")
(target "cryptroot")
(type clevis-luks-device-mapping))))
(file-systems
(cons (file-system
(mount-point "/")
(device "/dev/mapper/cryptroot")
(type "ext4"))
%base-file-systems))
(services
(append
(list (service dhcpcd-service-type)
(service agetty-service-type
(agetty-configuration
(tty "ttyS0")
(term "vt100")))
(service openssh-service-type))
%base-services)))