diff options
Diffstat (limited to 'guix/config-desktop.scm')
-rw-r--r-- | guix/config-desktop.scm | 154 |
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))) |