;; TODO: Use this as a base module and seperate each system/machine (use-modules (gnu) (gnu services) (gnu home services desktop) (gnu home services desktop) (gnu home services gnupg) (nongnu packages linux) (nongnu system linux-initrd)) (use-service-modules cups desktop networking ssh xorg docker guix admin pm docker) (operating-system (locale "en_US.utf8") (timezone "Europe/Athens") (keyboard-layout (keyboard-layout "us")) (host-name "zeus") ;; TODO: Use the full linux kernel only on the desktop (kernel linux) (initrd microcode-initrd) (firmware (list linux-firmware)) ;; The list of user accounts ('root' is implicit). (users (cons* (user-account (name "thanos") (comment "Thanos Apollo") (group "users") (home-directory "/home/thanos") (supplementary-groups '("wheel" "netdev" "audio" "video" "docker"))) %base-user-accounts)) ;; Packages installed system-wide. (packages (append (map specification->package '("sway" "swaylock" "swaylock-effects" "swaybg" "flatpak" "waybar" "mu" "gnupg" "pinentry" "password-store" "isync" "python" "sbcl" "font-jetbrains-mono" "docker" "docker-cli" "icecat" "git")) %base-packages)) ;; Below is the list of system services. To search for available ;; services, run 'guix system search KEYWORD' in a terminal. (services (append (list (service gnome-desktop-service-type) (service docker-service-type) (service openssh-service-type (openssh-configuration (permit-root-login 'prohibit-password))) ;; ;; TODO: Fix swaylock ;; (service screen-locker-service-type ;; (screen-locker-configuration ;; (name "swaylock") ;; (program (file-append swaylock "/bin/swaylock")) ;; (using-pam? #t) ;; (using-setuid? #f))) (service tor-service-type) (service cups-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) %desktop-services)) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (swap-devices (list (swap-space (target (uuid "10551e45-7810-4171-a4b2-87372ae5bdb4"))))) ;; run 'lsblk -f' to get UUIDs. (file-systems (cons* (file-system (mount-point "/hdd") (device (uuid "b0fddf60-47ff-469f-b135-8f6b58812c99" 'xfs)) (type "xfs")) (file-system (mount-point "/home") (device (uuid "4efbc805-e89b-46b8-b895-b1ce807698c8" 'ext4)) (type "ext4")) (file-system (mount-point "/") (device (uuid "e350994d-4c98-4d04-9867-29c9fc779026" 'ext4)) (type "ext4")) (file-system (mount-point "/boot/efi") (device (uuid "F2A9-FB50" 'fat32)) (type "vfat")) %base-file-systems)))