You've already forked guix-tribes
50 lines
1.5 KiB
Scheme
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)))
|