;; Very basic Guix System (use-modules (gnu)) (use-service-modules admin networking ssh linux) ;; Definitions (define (sysadmin name full-name) (user-account (name name) (comment full-name) (group "users") (supplementary-groups '("wheel" "kvm")) (home-directory (string-append "/home/" name)))) (define %accounts (list (sysadmin "g" "Giovanni Biscuolo"))) ;; operating-system (operating-system (locale "en_US.utf8") (timezone "Europe/Rome") (keyboard-layout (keyboard-layout "it" "winkeys")) (host-name "cornouiller") (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets (list "/dev/sda")) (keyboard-layout keyboard-layout))) (file-systems (append (list (file-system (mount-point "/") (device "/dev/sda3") (type "btrfs") (options "compress=zstd")) ) %base-file-systems)) (swap-devices (list (swap-space (target "/dev/sda2")))) (issue ;; Default contents for /etc/issue. "\ This a Guix system. Welcome.\n") (users (append %accounts %base-user-accounts)) (sudoers-file (plain-file "sudoers" "\ root ALL=(ALL) ALL %wheel ALL=(ALL) ALL\n")) ;; Globally-installed packages. (packages (append (list (specification->package "st") (specification->package "nss-certs")) %base-packages)) (services (append %base-services (list (service dhcp-client-service-type) (service openssh-service-type (openssh-configuration (port-number 22) (password-authentication? #f) (permit-root-login 'prohibit-password) (extra-content "ListenAddress 0.0.0.0") (authorized-keys `(("g" ,(plain-file "g.pub" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICqpr0unFxPo2PnQTmmO2dIUEECsCL3vVvjhk5Dx80Yb g@xelera.eu")) ("root" ,(plain-file "g.pub" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICqpr0unFxPo2PnQTmmO2dIUEECsCL3vVvjhk5Dx80Yb g@xelera.eu"))))))))))