diff options
Diffstat (limited to 'system.scm')
| -rw-r--r-- | system.scm | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/system.scm b/system.scm new file mode 100644 index 0000000..e0f7ff5 --- /dev/null +++ b/system.scm @@ -0,0 +1,127 @@ +(use-modules (gnu) + (gnu system nss) + (guix utils) + (guix packages) + (guix gexp) + (nongnu packages linux) + (gnu packages) + (gnu packages window-management) + (gnu packages xorg) + (gnu packages vim) + (gnu system privilege) + ((gnu packages admin) #:select (sudo opendoas)) + (throne deps)) + +(use-service-modules desktop + sddm + ssh + xorg) + +(operating-system + (kernel linux) + (firmware (list linux-firmware)) + (host-name "guixygnu") + (timezone "Asia/Tehran") + (locale "en_US.utf8") + + (keyboard-layout + (keyboard-layout "us" "altgr-intl")) + + (bootloader + (bootloader-configuration + (bootloader grub-efi-bootloader) + (targets '("/boot/efi")) + (keyboard-layout keyboard-layout))) + + (file-systems + (append + (list + (file-system + (device + (uuid "53edb5f0-2a5c-4159-9666-52e486b95a49" 'ext4)) + (mount-point "/") + (type "ext4")) + (file-system + (device + (uuid "4141-8933" 'fat)) + (mount-point "/boot/efi") + (type "vfat"))) + %base-file-systems)) + + (swap-devices + (list + (swap-space + (target + (uuid "7ab8ddc5-940e-4180-a825-88becd9b6788"))))) + + (users + (cons + (user-account + (name "coast") + (password + (crypt + "coast" + "$6$qPWpreldLzlkO54O$l9DciT6EPOv47H3FPDo2f5zoDag9tFHoNWRWi0SKRSeZmMc3PoyW5Ery7INGPiYDvbHQb97jev/H37JV2F.tU1")) + (group "users") + (supplementary-groups + '("wheel" "netdev" "audio" "video"))) + %base-user-accounts)) + + (packages + (append + (list + throne + niri + xwayland-satellite + vim + opendoas) + (filter + (lambda (p) + (not (eq? p sudo))) + %base-packages))) + + (privileged-programs + (cons + (privileged-program + (program + (file-append opendoas "/bin/doas")) + (setuid? #t)) + (cons + (privileged-program + (program + (file-append throne "/libexec/Throne")) + (setuid? #f) + (setgid? #f) + (capabilities + "cap_net_bind_service+ep")) + (cons + (privileged-program + (program + (file-append throne "/libexec/ThroneCore")) + (setuid? #f) + (setgid? #f) + (capabilities + "cap_net_admin,cap_net_raw,cap_net_bind_service,cap_sys_ptrace,cap_dac_read_search+ep")) + (filter + (lambda (pp) + (not + (string-contains + (with-output-to-string + (lambda () + (write + (privileged-program-program pp)))) + "sudo"))) + %default-privileged-programs))))) + + (services + (cons* + (service plasma-desktop-service-type) + (service + sddm-service-type + (sddm-configuration + (theme "breeze"))) + (service openssh-service-type) + (modify-services %desktop-services + (delete gdm-service-type)))) + + (name-service-switch %mdns-host-lookup-nss)) |
