Files
guix-tribes/nbde/system/installed-base.scm

57 lines
2.4 KiB
Scheme

(define-module (nbde system installed-base)
#:use-module (gnu)
#:use-module (gnu services base)
#:use-module (gnu services desktop)
#:use-module (gnu services networking)
#:use-module (gnu services ssh)
#:use-module (nbde system boot-store)
#:export (nbde-installed-operating-system))
(define* (nbde-installed-operating-system #:key
host-name
bootloader
mapped-devices
file-systems
initrd
interface
authorized-keys-file
(timezone "Etc/UTC")
(locale "en_US.UTF-8")
(kernel-arguments
(list "console=tty0"
"console=ttyS0,115200n8"))
(initrd-modules
(append '("nvme" "sd_mod" "virtio_scsi")
%base-initrd-modules))
(extra-services '()))
"Return a base installed Guix system for the NBDE flow, parameterized by the
runtime-discovered boot and filesystem values from the installer."
(operating-system
(host-name host-name)
(timezone timezone)
(locale locale)
(keyboard-layout (keyboard-layout "us"))
(kernel-arguments kernel-arguments)
(initrd-modules initrd-modules)
(initrd initrd)
(bootloader bootloader)
(mapped-devices mapped-devices)
(file-systems file-systems)
(services
(append
extra-services
(list (service dhcpcd-service-type)
(boot-store-staging-service)
(service elogind-service-type)
(service agetty-service-type
(agetty-configuration
(tty "ttyS0")
(term "vt100")))
(service openssh-service-type
(openssh-configuration
(permit-root-login 'prohibit-password)
(authorized-keys
(list
(list "root" authorized-keys-file))))))
%base-services))))