(define-module (systems ayase system-configuration) #:use-module (gnu) #:use-module (gnu services cups) #:use-module (gnu services networking) #:use-module (gnu services ssh) #:use-module (gnu services xorg) #:use-module (nongnu packages linux) #:use-module (nongnu system linux-initrd) #:use-module (suweren commons sudoers) #:use-module (suweren services)) (define bootloader-targets (list "/boot/efi")) (define marek-groups (list "wheel" "netdev" "audio" "video")) (define root-filesystem-device (uuid "615a98cd-a632-4ee5-a6f4-e5ebcaa6fb8c")) (define package-specifications (list "emacs" "emacs-exwm" "emacs-desktop-environment")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define efi-partition (file-system (mount-point "/boot/efi") (device (uuid "B4FB-CBD9" 'fat32)) (type "vfat"))) (define marek-account (user-account (name "marek") (comment "Marek Paśnikowski") (group "users") (home-directory "/home/marek") (supplementary-groups marek-groups))) (define root-partition (file-system (mount-point "/") (device root-filesystem-device) (type "ext4"))) (define swap-space-target (uuid "f1c1b2ab-5c11-4708-80c2-d5ac99ff35cf")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define ayase-file-systems (list root-partition efi-partition)) (define ayase-user-accounts (list marek-account)) (define keyboard-layout (keyboard-layout "pl")) (define main-swap (swap-space (target swap-space-target))) (define system-packages (map specification->package package-specifications)) (define system-services (list (service cups-service-type) (service openssh-service-type) (service tor-service-type))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets bootloader-targets) (keyboard-layout keyboard-layout))) (define file-systems (append %base-file-systems ;; %distribution-file-systems ayase-file-systems)) (define firmware (list linux-firmware)) (define packages (append %base-packages ;; %distribution-packages system-packages)) (define services (append %distribution-services system-services)) (define swap-devices (list main-swap)) (define users (append %base-user-accounts ayase-user-accounts)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define-public ayase (operating-system (kernel linux) (bootloader bootloader) (keyboard-layout keyboard-layout) (initrd microcode-initrd) (firmware firmware) (host-name "ayase") (file-systems file-systems) (swap-devices swap-devices) (users users) (packages packages) (timezone "Europe/Warsaw") (locale "pl_PL.utf8") (services services) (sudoers-file %sudoers-specification*)))