summaryrefslogtreecommitdiffstats
path: root/system.scm
diff options
context:
space:
mode:
Diffstat (limited to 'system.scm')
-rw-r--r--system.scm127
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))