48 lines
1.7 KiB
Scheme
48 lines
1.7 KiB
Scheme
;; This is an operating system configuration template
|
|
;; for a "bare bones" setup, with no X11 display server.
|
|
|
|
(use-modules (gnu)
|
|
(metznet aws)
|
|
(gnu services shepherd)
|
|
(gnu services networking)
|
|
(gnu services ssh)
|
|
(gnu packages ssh)
|
|
(gnu packages python-web)
|
|
(gnu packages shells))
|
|
|
|
(operating-system
|
|
(host-name "guix-ami")
|
|
(timezone "America/Edmonton")
|
|
(locale "en_US.utf8")
|
|
(bootloader (bootloader-configuration
|
|
(bootloader grub-minimal-bootloader)
|
|
(targets '("/dev/nvme1n1"))))
|
|
(file-systems (cons (file-system
|
|
(device (file-system-label "guix-data"))
|
|
(mount-point "/")
|
|
(type "ext4")) %base-file-systems))
|
|
(groups (cons (user-group
|
|
(system? #t)
|
|
(name "aws")) %base-groups))
|
|
(users (cons (user-account
|
|
(name "aws")
|
|
(group "aws")
|
|
(shell (file-append zsh "/bin/zsh"))) %base-user-accounts))
|
|
|
|
(sudoers-file (plain-file "sudoers"
|
|
(string-join (list "Defaults mail_badpass"
|
|
"root ALL=(ALL:ALL) ALL"
|
|
"%aws ALL=(ALL:ALL) ALL" "")
|
|
"\n")))
|
|
|
|
(packages (cons* openssh awscli %base-packages))
|
|
|
|
(services
|
|
(cons* (service dhcp-client-service-type)
|
|
(service aws-service-type)
|
|
(service openssh-service-type
|
|
(openssh-configuration (port-number 22)
|
|
(password-authentication? #f)))
|
|
%base-services)))
|
|
|