;; 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) (gnu services) (gnu services shepherd) (gnu services dbus) (gnu system) (gnu system setuid) (gnu system nss) (rosenthal packages wm) (nongnu packages linux) (nongnu system linux-initrd)) (use-service-modules cups desktop networking ssh xorg avahi admin base nix dbus pm audio virtualization sysctl) (use-package-modules nfs certs shells ssh linux bash emacs gnome networking wm fonts glib libusb cups freedesktop file-systems version-control package-management) (define etc-sudoers-config (plain-file "etc-sudoers-config" "Defaults timestamp_timeout=480 root ALL=(ALL) ALL %wheel ALL=(ALL) ALL YOUR-USER-NAME ALL=(ALL) NOPASSWD:/run/current-system/profile/bin/chvt,/run/current-system/profile/bin/loginctl")) (define my-desktop-services (modify-services %base-services (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (append (list "https://substitutes.nonguix.org") %default-substitute-urls)) (authorized-keys (append (list (plain-file "nonguix.pub" "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))")) %default-authorized-guix-keys)))) ;; greetd-service-type provides "greetd" PAM service (delete login-service-type) (delete console-font-service-type) ;; and can be used in place of mingetty-service-type (delete mingetty-service-type) (delete mingetty-service-type) (delete mingetty-service-type) (delete mingetty-service-type) (delete mingetty-service-type) (delete mingetty-service-type))) (operating-system (kernel linux) (initrd microcode-initrd) (firmware (list linux-firmware)) (locale "en_US.utf8") (timezone "America/Chicago") (keyboard-layout (keyboard-layout "us")) (host-name "syl") ;; The list of user accounts ('root' is implicit). (users (cons* (user-account (name "chris") (comment "Chris") (group "users") (home-directory "/home/chris") (supplementary-groups '("wheel" "netdev" "tty" "audio" "video"))) %base-user-accounts)) (sudoers-file etc-sudoers-config) ;; 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 (list (specification->package "nss-certs") (specification->package "sway") (specification->package "dbus-glib") (specification->package "hyprland") (specification->package "emacs-next-pgtk")) %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 ;; To configure OpenSSH, pass an 'openssh-configuration' ;; record as a second argument to 'service' below. (service openssh-service-type) fontconfig-file-system-service (service sane-service-type) (service cups-service-type (cups-configuration (web-interface? #t) (extensions (list cups-filters)))) (simple-service 'mtp udev-service-type (list libmtp)) (udev-rules-service 'pipewire-add-udev-rules pipewire) (udev-rules-service 'brightnessctl-udev-rules brightnessctl) (service nix-service-type) (service thermald-service-type) (service tlp-service-type (tlp-configuration (cpu-boost-on-ac? #t) (wifi-pwr-on-bat? #t))) (service screen-locker-service-type (screen-locker-configuration (name "swaylock") (program (file-append 'swaylock-effects "/home/chris/.guix-home/profile/bin/swaylock")) (allow-empty-password? #f) (using-pam? #t) (using-setuid? #f))) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout))) (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" "tty4" "tty5" "tty6"))) (service greetd-service-type (greetd-configuration (greeter-supplementary-groups (list "input" "video")) (terminals (list (greetd-terminal-configuration (terminal-vt "1") (terminal-switch #t) (default-session-command (greetd-agreety-session (command (file-append dbus "/bin/dbus-run-session")) (command-args (list "Hyprland"))))) (greetd-terminal-configuration (terminal-vt "2")) (greetd-terminal-configuration (terminal-vt "3")) (greetd-terminal-configuration (terminal-vt "4")) (greetd-terminal-configuration (terminal-vt "5")) (greetd-terminal-configuration (terminal-vt "6")))))) ;; NetworkManager and its applet. (service network-manager-service-type) (service wpa-supplicant-service-type) ;needed by NetworkManager (simple-service 'network-manager-applet profile-service-type (list network-manager-applet)) (service modem-manager-service-type) (service usb-modeswitch-service-type) (service bluetooth-service-type (bluetooth-configuration (auto-enable? #t))) ;; The D-Bus clique. polkit-wheel-service (service avahi-service-type) (service udisks-service-type) (service upower-service-type) ;; (service accountsservice-service-type) (service cups-pk-helper-service-type) (service colord-service-type) (service geoclue-service-type) (service polkit-service-type) (service elogind-service-type) (service dbus-root-service-type) (service ntp-service-type) (service x11-socket-directory-service-type)) my-desktop-services)) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) ;; 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 "/boot/efi") (device (uuid "BA76-3723" 'fat32)) (type "vfat")) (file-system (mount-point "/") (device (uuid "db28ba7c-a15d-4c81-8373-99f2f171cac5" 'btrfs)) (type "btrfs")) %base-file-systems)))