;; 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")))) (swap-devices (list (swap-space (target (file-system-label "guix-swap"))))) (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") (password (crypt "aws" "$6$change")) (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)))