9.6 KiB
9.6 KiB
Sanderson config
Main system
Module imports
(use-modules (gnu)
(nongnu packages linux)
(nongnu system linux-initrd)
(gnu packages cups)
(gnu packages shells)
(nongnu packages printers))
(use-service-modules cups desktop networking ssh syncthing xorg)
Main OS config
(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 "sanderson")
;; The list of user accounts ('root' is implicit).
(users (cons* (user-account
(name "skylar")
(comment "Skylar")
(group "users")
(shell (file-append fish "/bin/fish"))
(home-directory "/home/skylar")
(supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts))
System packages
;; 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 %base-packages)
Services
;; Below is the list of system services. To search for available
;; services, run 'guix system search KEYWORD' in a terminal.
(services
(append (list (service plasma-desktop-service-type)
;; To configure OpenSSH, pass an 'openssh-configuration'
;; record as a second argument to 'service' below.
(service openssh-service-type)
(service cups-service-type
(cups-configuration
(web-interface? #t)
(extensions
(list brlaser cups-filters epson-inkjet-printer-escpr foomatic-filters hplip hplip-plugin splix))))
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout)))
(service syncthing-service-type
(syncthing-configuration
(user "skylar")
(home "/home/skylar")))
(simple-service 'add-hosts
hosts-service-type
(list (host "192.168.254.167" "vtt"
'("vtt.skylarhill.me"))
(host "192.168.254.167" "files"
'("files.skylarhill.me")))))
nonguix substitutes
;; This is the default list of services we
;; are appending to.
(modify-services %desktop-services
(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)))))))
Filesystem and partition config
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/sda"))
(keyboard-layout keyboard-layout)))
(swap-devices (list (swap-space
(target (uuid
"646006cb-84a4-46ea-a03c-78a343b2fd07")))))
;; 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 (uuid
"38be76dc-b7d8-4433-bab6-04c6c7f62733"
'ext4))
(type "ext4")) %base-file-systems)))
Home configuration
Module imports
(use-modules (gnu home)
(gnu home services)
(gnu packages)
(gnu packages emacs-xyz)
(gnu packages gnupg)
(gnu packages scheme)
(gnu packages text-editors)
(gnu services)
(guix build-system emacs)
(guix build-system font)
(guix download)
(guix gexp)
(guix packages)
(gnu home services shells)
(gnu home services gnupg))
Home packages
(home-environment
;; Below is the list of packages that will show up in your
;; Home profile, under ~/.guix-home/profile.
(packages (specifications->packages
(list "bat"
"blinkenlights"
"calibre"
"cups"
"curl"
"emacs"
"fd"
"firefox"
"font-fira-code"
"font-google-noto"
"font-google-noto-emoji"
"font-google-noto-serif-cjk"
"font-microsoft-web-core-fonts"
"font-sony-misc"
"gerbil"
"gimp"
"git"
"gnupg"
"gnutls"
"guile"
"guile-hall"
"hare"
"haunt"
"hicolor-icon-theme"
"hplip"
"inkscape"
"ispell"
"kicad"
"kicad-footprints"
"kicad-symbols"
"kitty"
"kmonad"
"kwallet"
"libresprite"
"magic-wormhole"
"markdown"
"nheko"
"node"
"offlineimap3"
"okular"
"opentaxsolver"
"mu"
"pamixer"
"password-store"
"pavucontrol"
"profanity"
"python"
"racket"
"ripgrep"
"rofi"
"rofi-pass"
"rsync"
"skribilo"
"smtpmail"
"steam"
"swi-prolog"
"unzip"
"xclip"
"zoom")))
Home services
;; Below is the list of Home services. To search for available
;; services, run 'guix home search KEYWORD' in a terminal.
(services
(list #;(service home-bash-service-type
(home-bash-configuration
(aliases '(("grep" . "grep --color=auto")
("ip" . "ip -color=auto")
("ll" . "ls -l")
("ls" . "ls -p --color=auto")))
(bashrc (list (local-file
"/home/skylar/.config/guix/home/.bashrc"
"bashrc")))
(bash-profile (list (local-file
"/home/skylar/.config/guix/home/.bash_profile"
"bash_profile")))))
(service home-fish-service-type
(home-fish-configuration
(environment-variables '(("GUILE_LOAD_PATH" . "/home/skylar/.guix-home/profile/share/guile/site/3.0:/run/current-system/share/guile/site/3.0")
("GUILE_LOAD_COMPILED_PATH" . "/home/skylar/.guix-home/profile/lib/guile/site/3.0:/run/current-system/share/guile/site/3.0")))
(aliases '(("grep" . "grep --color=auto")
("ip" . "ip -color=auto")
("ll" . "ls -l")
("ls" . "ls -p --color=auto")))))
(service home-bash-service-type
(home-bash-configuration
(environment-variables '(("GUILE_LOAD_PATH" . "/home/skylar/.guix-home/profile/share/guile/site/3.0:/run/current-system/share/guile/site/3.0")
("GUILE_LOAD_COMPILED_PATH" . "/home/skylar/.guix-home/profile/lib/guile/site/3.0:/run/current-system/share/guile/site/3.0")))
(aliases '(("grep" . "grep --color=auto")
("ip" . "ip -color=auto")
("ll" . "ls -l")
("ls" . "ls -p --color=auto")))))
(service home-gpg-agent-service-type
(home-gpg-agent-configuration
(pinentry-program
(file-append pinentry "/bin/pinentry"))
(default-cache-ttl 86400)
(max-cache-ttl 86400)
(ssh-support? #t)))
(service home-files-service-type
`((".offlineimaprc" ,(local-file "offlineimaprc"))
(".config/rofi/config.rasi" ,(local-file "rofi.rasi"))
(".local/bin/offlineimap-pass.py" ,(local-file "offlineimap-pass.py"))
(".doom.d/config.el" ,(local-file "doom/config.el"))
(".doom.d/init.el" ,(local-file "doom/init.el"))
(".doom.d/packages.el" ,(local-file "doom/packages.el")))))))