(define-module (systems ayase system-configuration) #:use-module (gnu) #:use-module (gnu services cups) #:use-module (gnu services desktop) #:use-module (gnu services networking) #:use-module (gnu services ssh) #:use-module (gnu services xorg)) ;; DATA ;; ABSTRACTION 2 (define efi-partition (file-system (mount-point "/boot/efi") (device (uuid "B4FB-CBD9" 'fat32)) (type "vfat"))) (define keyboard-layout (keyboard-layout "pl")) (define marek-account (user-account (name "marek") (comment "Marek Paśnikowski") (group "users") (home-directory "/home/marek") (supplementary-groups (list "wheel" "netdev" "audio" "video")))) (define root-partition (file-system (mount-point "/") (device (uuid "615a98cd-a632-4ee5-a6f4-e5ebcaa6fb8c" 'ext4)) (type "ext4"))) ;; ABSTRACTION 1 (define ayase-file-systems (list root-partition efi-partition)) (define ayase-user-accounts (list marek-account)) (define bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (define main-swap (swap-space (target (uuid "cc6bbf7c-e42a-4ac3-a9ae-3b14d3b4b841")))) (define system-packages (list (specification->package "emacs") (specification->package "emacs-exwm") (specification->package "emacs-desktop-environment"))) (define system-services (list (service openssh-service-type) (service tor-service-type) (service cups-service-type))) ;; PUBLIC (operating-system (bootloader bootloader) (keyboard-layout keyboard-layout) (host-name "ayase") (file-systems (append %base-file-systems ;; %distribution-file-systems ayase-file-systems)) (swap-devices (list main-swap)) (users (append %base-user-accounts ayase-user-accounts)) (packages (append %base-packages ;; %distribution-packages system-packages)) (timezone "Europe/Warsaw") (locale "pl_PL.utf8") (services (append %desktop-services ;; %distribution-services system-services)))