dotfiles/guix/config.scm

171 lines
5.4 KiB
Scheme

(use-modules
(gnu)
(gnu system nss)
(nongnu packages linux)
(nongnu system linux-initrd)
(guix utils)
(srfi srfi-1))
(use-service-modules base desktop xorg dns networking docker pm cups)
(use-package-modules bootloaders certs shells ssh version-control emacs vim wm freedesktop xorg fontutils docker cups android)
;; Autologin (ker imamo encrypted root!)
(define (auto-login-to-tty config tty user)
(if (string=? tty (mingetty-configuration-tty config))
(mingetty-configuration
(inherit config)
(auto-login user))
config))
(define %my-services
(modify-services %desktop-services
;; tty2 autologin
(mingetty-service-type config =>
(auto-login-to-tty
config "tty2" "g1smo"))))
(operating-system
(host-name "pnx")
(timezone "Europe/Ljubljana")
(locale "sl_SI.utf8")
;; Use the UEFI variant of GRUB with the EFI System
;; Partition mounted on /boot/efi.
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets '("/boot/efi"))))
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(groups (cons* (user-group (name "adbusers"))
(user-group (name "plugdev"))
%base-groups))
(users (cons* (user-account
(name "g1smo")
(comment "Yuri")
(group "users")
(uid 1000)
(shell (file-append zsh "/bin/zsh"))
(supplementary-groups '("wheel" "netdev"
"audio" "video"
"dialout" "users" "lp"
;; Za ddev
"docker"
;; za fastboot/adb
"adbusers"
;; networkmanager connections
"plugdev"))
(home-directory "/home/g1smo"))
%base-user-accounts))
(packages (append (list ;; Osnovni WM
"i3-wm"
"i3status"
"dmenu"
"st"
;; sistem
"lvm2"
"amdgpu-firmware"
;; WM zadeve
"sway"
"swaybg"
"rofi"
"i3-autotiling"
"waybar"
"gammastep"
"foot"
"eog"
"nautilus"
;; Urejevalniki teksta
"emacs"
"vim"
;; Razno
"zsh"
"git"
"file"
;; Napajanje, baterija ...
"acpi"
"file"
;; Za docker (ddev)
"docker")
%base-packages))
(services
(cons* (service gnome-desktop-service-type)
;; dns cache
(service network-manager-service-type
(network-manager-configuration
(dns "dnsmasq")))
(service pam-limits-service-type
(list
(pam-limits-entry "@audio" 'both 'rtprio 99)
(pam-limits-entry "@audio" 'both 'memlock 'unlimited)))
(service tlp-service-type
(tlp-configuration
(cpu-scaling-governor-on-ac (list "ondemand"))
(max-lost-work-secs-on-ac 0)
(ahci-runtime-pm-timeout 0)))
(service thermald-service-type)
(service bluetooth-service-type)
;; Za ddev
(service docker-service-type)
(service containerd-service-type)
;; printanje
(service cups-service-type
(cups-configuration
(web-interface? #t)
(extensions
(list cups-filters hplip-minimal))))
;; fastboot kot navadni user
(udev-rules-service 'android android-udev-rules)
;; dodatna imena gostiteljev
(simple-service 'extra-hosts
(list (host "192.168.0.88" "pi")
(host "192.168.0.200" "pinenote")
(host "194.249.242.45" "p1")))
(remove
(lambda (service)
(eq? network-manager-service-type (service-kind service)))
%my-services )))
(swap-devices
(list (swap-space
(target (uuid "76019829-e8eb-477c-a08a-d2ccff3fcdd5")))))
(mapped-devices
(list (mapped-device
(source (uuid "3020ad8b-ee01-49e2-8a46-3f66c902ef67"))
(target "sda3_crypt")
(type luks-device-mapping))
(mapped-device
(source "dbn-vg")
(targets (list "dbn--vg-guix" "dbn--vg-btr--home"))
(type lvm-device-mapping))))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss)
(file-systems
(cons* (file-system
(mount-point "/")
(device "/dev/mapper/dbn--vg-guix")
(type "btrfs")
(options "subvol=@root,compress-force=zstd,space_cache=v2")
(dependencies mapped-devices))
(file-system
(mount-point "/mnt/debian-home")
(device "/dev/mapper/dbn--vg-btr--home")
(type "btrfs")
(options "compress-force=zstd,space_cache=v2")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "3F44-75AB" 'fat))
(type "vfat"))
%base-file-systems)))