summaryrefslogtreecommitdiff
path: root/guix/config-desktop.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/config-desktop.scm')
-rw-r--r--guix/config-desktop.scm154
1 files changed, 154 insertions, 0 deletions
diff --git a/guix/config-desktop.scm b/guix/config-desktop.scm
new file mode 100644
index 0000000..cf30280
--- /dev/null
+++ b/guix/config-desktop.scm
@@ -0,0 +1,154 @@
+(use-modules (gnu)
+ (guix transformations)
+ (gnu home)
+ (guix gexp)
+ (nongnu packages linux)
+ (nongnu system linux-initrd)
+ (gnu home services shells))
+
+(use-service-modules guix cups desktop networking ssh xorg docker nix admin vnc lightdm syncthing virtualization databases)
+(use-package-modules gnome xdisorg vnc databases)
+
+(load "/home/w96k/projects/dotfiles/guix/.dotfiles/home-configuration.scm")
+
+(define wkz-transform
+ ;; The package transformation procedure.
+ (options->transformation
+ '((tune . "skylake"))))
+
+(operating-system
+ (locale "en_US.utf8")
+ (timezone "Asia/Tbilisi")
+ (kernel linux)
+ (initrd microcode-initrd)
+ (firmware (list linux-firmware))
+ (keyboard-layout (keyboard-layout "us,ru"
+ #:options '("grp:shifts_toggle" "ctrl:nocaps")))
+ (host-name "wkz-guix")
+
+ ;; The list of user accounts ('root' is implicit).
+ (users (cons* (user-account
+ (name "w96k")
+ (comment "W96K")
+ (group "users")
+ (home-directory "/home/w96k")
+ (supplementary-groups '("wheel" "netdev" "audio" "video" "docker")))
+ (user-account
+ (name "wkz")
+ (comment "wkz")
+ (group "users")
+ (home-directory "/home/wkz")
+ (supplementary-groups '("wheel" "netdev" "audio" "video" "docker")))
+ %base-user-accounts))
+
+ ;; (packages %base-packages)
+ (packages
+ (append
+ (map
+ specification->package
+ '(
+ "ratpoison"
+ "xterm"
+ ))
+ %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 guix-home-service-type `(("w96k" ,wkz-home) ("wkz" ,wkz-home)))
+ (service block-facebook-hosts-service-type)
+
+ (service tor-service-type)
+ (service openssh-service-type)
+ (service containerd-service-type)
+ (service docker-service-type)
+ ;; (service hurd-vm-service-type
+ ;; (hurd-vm-configuration
+ ;; (disk-size (* 5000 (expt 2 20))) ;5G
+ ;; (memory-size 1024)))
+
+ (service nix-service-type (nix-configuration
+ (extra-options '("--extra-experimental-features nix-command"))))
+
+ (service xvnc-service-type (xvnc-configuration
+ (display-number 10)
+ (localhost? #f)
+ (geometry "1280x800")))
+
+ (service syncthing-service-type
+ (syncthing-configuration
+ (user "w96k")))
+
+ (service postgresql-service-type
+ (postgresql-configuration
+ (postgresql postgresql-15)))
+
+ (service connman-service-type)
+
+ ;; (service screen-locker-service-type
+ ;; (screen-locker-configuration
+ ;; (name "xlock")
+ ;; (program (file-append xlockmore "/bin/xlock"))))
+
+ ;; (service slim-service-type
+ ;; (slim-configuration
+ ;; (default-user "w96k")
+ ;; (xorg-configuration
+ ;; (xorg-configuration
+ ;; (keyboard-layout keyboard-layout)))))
+ )
+
+ (modify-services %desktop-services
+ (delete screen-locker-service-type)
+ (delete modem-manager-service-type)
+ (delete udisks-service-type)
+ (delete upower-service-type)
+ (delete network-manager-service-type)
+ (delete usb-modeswitch-service-type)
+ (delete geoclue-service-type)
+
+
+ (guix-service-type config => (guix-configuration
+ (inherit config)
+ (extra-options '("--max-jobs=10"))
+ (substitute-urls
+ (append (list "https://substitutes.nonguix.org")
+ %default-substitute-urls))
+ (authorized-keys
+ (append (list (plain-file "non-guix.pub"
+ "
+(public-key
+ (ecc
+ (curve Ed25519)
+ (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
+ )
+ )
+"))
+ %default-authorized-guix-keys))))
+
+ (delete gdm-service-type))))
+
+ (bootloader (bootloader-configuration
+ (bootloader grub-efi-bootloader)
+ (targets (list "/boot/efi"))
+ (keyboard-layout keyboard-layout)))
+ (mapped-devices (list (mapped-device
+ (source (uuid
+ "6cfe9eed-8cdd-43da-9b9f-cec6f8ec538b"))
+ (target "cryptroot")
+ (type luks-device-mapping))))
+
+ (file-systems (cons* (file-system
+ (mount-point "/boot/efi")
+ (device (uuid "17C5-3E35"
+ 'fat32))
+ (type "vfat"))
+ (file-system
+ (mount-point "/")
+ (device "/dev/mapper/cryptroot")
+ (type "ext4")
+ (options "discard")
+ (skip-check-if-clean? #f)
+ (repair #t)
+ (dependencies mapped-devices)) %base-file-systems)))