5.7 KiB
5.7 KiB
Guix Configuration
I use GNU Guix as my operating system. I'm able to declare the state of the operating system in a series of configuration files in a similar way to Puppet. Eventually I would like to integrate Guix Home into this configuration.
Channels
Disclaimer: I use the nonguix channel only for the use of building Firefox from source easily.
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
(channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
Home Desktop
(use-modules (gnu)
(nongnu packages linux))
(use-service-modules
cups
desktop
networking
ssh
xorg)
(operating-system
(kernel linux)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "America/Los_Angeles")
(keyboard-layout (keyboard-layout "us"))
(host-name "borges")
(users (cons* (user-account
(name "opal")
(comment "opal")
(group "users")
(home-directory "/home/opal")
(supplementary-groups
'("wheel"
"netdev"
"audio"
"video")))
%base-user-accounts))
(packages
(append
(list
(specification->package "git")
(specification->package "xclip")
(specification->package "vim")
(specification->package "nss-certs")
(specification->package "stow")
(specification->package "exfat-utils")
(specification->package "emacs")
(specification->package "emacs-exwm")
(specification->package "bluez")
(specification->package "bluez-alsa")
(specification->package "pulseaudio")
(specification->package "nyxt")
(specification->package "keepassxc")
(specification->package "font-fira-mono")
(specification->package "font-fira-sans")
(specification->package "font-fira-code")
(specification->package "gnome-tweaks"))
%base-packages))
(services
(append
(list (service gnome-desktop-service-type)
(set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout))))
%desktop-services))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(mapped-devices
(list (mapped-device
(source
(uuid "40aa6387-e935-4f70-8e7d-1975678a5a32"))
(target "cryptroot")
(type luks-device-mapping))))
(file-systems
(cons* (file-system
(mount-point "/")
(device "/dev/mapper/cryptroot")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "1C3B-10F5" 'fat32))
(type "vfat"))
%base-file-systems)))
Work Laptop
(use-modules (gnu)
(nongnu packages linux))
(use-service-modules
cups
desktop
networking
ssh
xorg)
(operating-system
(kernel linux)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "America/Los_Angeles")
(keyboard-layout (keyboard-layout "us"))
(host-name "work")
(users (cons* (user-account
(name "opal")
(comment "Opal")
(group "users")
(home-directory "/home/opal")
(supplementary-groups
'("wheel" "netdev" "audio" "video")))
%base-user-accounts))
(packages
(append
(list
(specification->package "git")
(specification->package "xclip")
(specification->package "vim")
(specification->package "nss-certs")
(specification->package "stow")
(specification->package "exfat-utils")
(specification->package "emacs")
(specification->package "emacs-exwm")
(specification->package "bluez")
(specification->package "bluez-alsa")
(specification->package "pulseaudio")
(specification->package "nyxt")
(specification->package "keepassxc")
(specification->package "font-fira-mono")
(specification->package "font-fira-sans")
(specification->package "font-fira-code")
(specification->package "gnome-tweaks"))
%base-packages))
(services
(append
(list (service gnome-desktop-service-type)
(service cups-service-type)
(set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout))))
%desktop-services))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(mapped-devices
(list (mapped-device
(source
(uuid "abe760e2-4ba5-4f43-81a2-1c3f16eb62a8"))
(target "cryptroot")
(type luks-device-mapping))))
(file-systems
(cons* (file-system
(mount-point "/")
(device "/dev/mapper/cryptroot")
(type "btrfs")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "15B3-5DE5" 'fat32))
(type "vfat"))
%base-file-systems)))