;; This is an operating system configuration generated ;; by the graphical installer. ;; ;; Once installation is complete, you can learn and modify ;; this file to tweak the system configuration, and pass it ;; to the 'guix system reconfigure' command to effect your ;; changes. ;; Indicate which modules to import to access the variables ;; used in this configuration. (use-modules (gnu) (nongnu packages linux) (nongnu system linux-initrd) (mitch packages tailscale) (mitch services tailscale)) (use-service-modules cups desktop networking ssh xorg pm avahi dbus mcron) (use-package-modules fonts wm) (operating-system (locale "en_CA.utf8") (timezone "America/Halifax") (keyboard-layout (keyboard-layout "us" "dvorak" #:options '("ctrl:nocaps"))) (host-name "claver") (kernel linux) (firmware (list linux-firmware radeon-firmware)) ;; The list of user accounts ('root' is implicit). (users (cons* (user-account (name "mitch") (comment "Mitch Taylor") (group "users") (home-directory "/home/mitch") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) ;; Packages installed system-wide. Users can also install packages ;; under their own account: use 'guix search KEYWORD' to search ;; for packages and 'guix install PACKAGE' to install a package. (packages (append (map specification->package '("zile" "git" "gvfs" "brightnessctl" "sway" "wmenu" "foot" "tailscale" "bluez" "blueman")) %base-packages)) ;; Below is the list of system services. To search for available ;; services, run 'guix system search KEYWORD' in a terminal. (services (append (modify-services %base-services (delete console-font-service-type) (guix-service-type config => (guix-configuration (inherit config) (extra-options '("--max-jobs=4" "--cores=4"))))) (list (service elogind-service-type) (service console-font-service-type (map (lambda (tty) ;; Use a larger font for HIDPI screens (cons tty (file-append font-terminus "/share/consolefonts/ter-132n"))) '("tty1" "tty2" "tty3"))) (service screen-locker-service-type (screen-locker-configuration (name "swaylock") (program (file-append swaylock "/bin/swaylock")) (using-pam? #t) (using-setuid? #f))) polkit-wheel-service (service network-manager-service-type) (service wpa-supplicant-service-type) ;; Needed by NetworkManager (service bluetooth-service-type (bluetooth-configuration (auto-enable? #t))) (service usb-modeswitch-service-type) (service power-profiles-daemon-service-type) (service thermald-service-type) (service x11-socket-directory-service-type) (service avahi-service-type) (service udisks-service-type) (service upower-service-type) (service cups-pk-helper-service-type) (service geoclue-service-type) (service polkit-service-type) (service dbus-root-service-type) fontconfig-file-system-service ;; Manage the fontconfig cache (service ntp-service-type) ;; To configure OpenSSH, pass an 'openssh-configuration' ;; record as a second argument to 'service' below. (service openssh-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout))) (service tailscaled-service-type) (simple-service 'system-cron-jobs mcron-service-type (list ;; Run `guix gc' 5 minutes after midnight every day. ;; Clean up generations older than 2 months and free ;; at least 10G of space. #~(job "5 0 * * *" "guix gc -d 2m -F 10G"))) (simple-service 'add-nonguix-substitutes guix-service-type (guix-extension (substitute-urls (cons* "https://nonguix-proxy.ditigal.xyz" %default-substitute-urls)) (authorized-keys (append (list (plain-file "nonguix.pub" "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))")) %default-authorized-guix-keys))))))) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (mapped-devices (list (mapped-device (source (uuid "bc3f2c7f-d158-40ed-9734-5512d8b146ca")) (target "cryptroot") (type luks-device-mapping)))) ;; The list of file systems that get "mounted". The unique ;; file system identifiers there ("UUIDs") can be obtained ;; by running 'blkid' in a terminal. (file-systems (cons* (file-system (mount-point "/") (device "/dev/mapper/cryptroot") (type "btrfs") (dependencies mapped-devices)) (file-system (mount-point "/boot/efi") (device (uuid "B22C-45CF" 'fat32)) (type "vfat")) %base-file-systems)))