diff options
author | Thanos Apollo <[email protected]> | 2024-05-10 09:11:37 +0300 |
---|---|---|
committer | Thanos Apollo <[email protected]> | 2024-05-10 09:11:37 +0300 |
commit | 25d09ddb7a3ddbdf49cb62168a8ab5514651fe5a (patch) | |
tree | 0a671abc846a0baa42a1f096f970c13ec99a915d /guix/system.scm | |
parent | 9d258331dc840e17f26a1d1fadc31563c5b763d6 (diff) |
Add guix configuration
Diffstat (limited to 'guix/system.scm')
-rw-r--r-- | guix/system.scm | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/guix/system.scm b/guix/system.scm new file mode 100644 index 0000000..2d38409 --- /dev/null +++ b/guix/system.scm @@ -0,0 +1,91 @@ +;; 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))) |