;; 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) (srfi srfi-1) (nongnu packages linux) (gnu packages haskell-apps) (caps-brightness) (nongnu system linux-initrd)) (use-service-modules cups desktop networking ssh xorg nix) (use-package-modules package-management) (define %terminus-console-font #~(string-append font-terminus "/share/consolefonts/ter-132n")) (define %sudoers-specification (plain-file "sudoers" "\ root ALL=(ALL) ALL %wheel ALL=(ALL) ALL %wheel ALL=(ALL) NOPASSWD: /run/current-system/profile/bin/cpupower %wheel ALL=(ALL) NOPASSWD: /run/current-system/profile/bin/umount %wheel ALL=(ALL) NOPASSWD: /run/current-system/profile/bin/caps-brightness ")) (use-modules (guix gexp) (guix packages) ;; (guix licenses) (guix build-system trivial) (gnu packages bash)) (operating-system (kernel linux) (initrd microcode-initrd) (firmware (list linux-firmware)) (locale "en_US.utf8") (timezone "Asia/Nicosia") (keyboard-layout (keyboard-layout "us" "colemak" #:options '("ctrl:nocaps"))) (host-name "bogo") ;; The list of user accounts ('root' is implicit). (users (cons* (user-account (name "mccd") (comment "Marc") (group "users") (home-directory "/home/mccd") (supplementary-groups '("wheel" "netdev" "audio" "video" "input"))) %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 (list (specification->package "emacs") (specification->package "emacs-exwm") (specification->package "nix") (specification->package "caps-brightness") (specification->package "xf86-input-libinput") (specification->package "xf86-video-fbdev") (specification->package "xf86-video-nouveau") (specification->package "font-terminus") (specification->package "guile") (specification->package "texinfo") (specification->package "man-db") (specification->package "man-pages") (specification->package "adwaita-icon-theme") (specification->package "gsettings-desktop-schemas") (specification->package "mandoc") (specification->package "steam-devices-udev-rules") (specification->package "emacs-desktop-environment")) %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 cups-service-type) (service nix-service-type) (service startx-command-service-type (xorg-configuration (keyboard-layout keyboard-layout))) (simple-service 'block-distracting-sites hosts-service-type (list (host "127.0.0.1" "omni.se" '("omni.se" "omni.se")) (host "127.0.0.1" "svt.se" '("svt.se" "svt.se")) (host "127.0.0.1" "reddit.com/r/politics" '("reddit.com/r/politics" "reddit.com/r/politics")) (host "::1" "reddit.com/r/politics" '("reddit.com/r/politics" "reddit.com/r/politics")) (host "::1" "reddit.com/r/sweden" '("reddit.com/r/sweden" "reddit.com/r/sweden")) (host "127.0.0.1" "reddit.com/r/sweden" '("reddit.com/r/sweden" "reddit.com/r/sweden")) (host "127.0.0.1" "reddit.com/r/decodingthegurus" '("reddit.com/r/decodingthegurus" "reddit.com/r/decodingthegurus")) (host "127.0.0.1" "news.ycombinator.com" '("news.ycombinator.com" "news.ycombinator.com")) (host "127.0.0.1" "lobste.rs" '("lobste.rs" "lobste.rs"))))) (modify-services %desktop-services (delete gdm-service-type) (udev-service-type config => (udev-configuration (inherit config) (rules (cons kmonad (udev-configuration-rules config))))) (console-font-service-type conf => (map (lambda (tty) (cons tty %terminus-console-font)) '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6"))) (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (append (list "https://substitutes.nonguix.org") %default-substitute-urls)) (authorized-keys (append (list (local-file "./signing-key.pub")) %default-authorized-guix-keys))))))) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (swap-devices (list (swap-space (target (uuid "6ee329b8-9475-4675-9c46-b2f68ec97f08"))))) (sudoers-file %sudoers-specification) ;; 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 "132A-1FDF" 'fat32)) (type "vfat")) (file-system (mount-point "/") (device (uuid "96a8d2d0-d991-4dc2-b50e-be8884887961" 'ext4)) (type "ext4")) (file-system (mount-point "/home") (device (uuid "b90ebc14-5472-4dbe-98e4-0b6e72f48199" 'ext4)) (type "ext4")) %base-file-systems)))