| (define-module (config systems base)
|
| #:use-module (gnu)
|
| #:use-module (gnu packages)
|
| #:use-module (guix)
|
| #:use-module (guix channels)
|
| #:use-module (guix packages)
|
| #:export (system-base)
|
| #:export (+keyboard-layout))
|
| (use-service-modules
|
| networking
|
| ssh
|
| xorg)
|
|
|
| ;; Reference: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/system/profiles.scm#L102
|
| (define (+keyboard-layout layout)
|
| (lambda (os)
|
| (operating-system
|
| (inherit os)
|
| (keyboard-layout layout)
|
| (services
|
| (cons
|
| (simple-service
|
| 'xorg-configuration-keyboard-layout
|
| (xorg-configuration-service-type (operating-system-services os))
|
| (xorg-configuration
|
| (keyboard-layout keyboard-layout)))
|
| (operating-system-user-services os)))
|
| (bootloader
|
| (bootloader-configuration
|
| (inherit (operating-system-bootloader os))
|
| (keyboard-layout layout))))))
|
|
|
|
|
| (define system-base
|
| (operating-system
|
| (locale "en_US.utf8")
|
| (timezone "Etc/UTC")
|
| (+keyboard-layout "us")
|
| (host-name "guixsd")
|
|
|
| (users %base-user-accounts)
|
|
|
| ;; The bootloader and filesystem configuration shall be replaced,
|
| ;; depending on each machine's configuration
|
| (bootloader (bootloader-configuration
|
| (bootloader grub-bootloader)
|
| (targets '("/boot/efi"))))
|
|
|
| (file-systems (cons (file-system
|
| (mount-point "/")
|
| (device "/dev/sda1")
|
| (type "btrfs"))
|
| %base-file-systems))
|
| (services
|
| (append (list
|
| (service openssh-service-type))
|
| %desktop-services))
|
|
|
| (packages
|
| (append
|
| (specifications->packages (list
|
| "curl"
|
| "git"
|
| "ncurses"
|
| "rsync"))
|
| %base-packages))))
|
| (define-module (config systems frostburn)
|
| #:use-module (gnu)
|
| #:use-module (nongnu system linux-initrd)
|
| #:use-module (nongnu packages linux)
|
| #:use-module (config systems base))
|
| (use-service-modules
|
| cups
|
| desktop
|
| networking)
|
|
|
| (operating-system
|
| (inherit system-base)
|
| (kernel linux)
|
| (initrd microcode-initrd)
|
| (firmware (list linux-firmware))
|
|
|
| (timezone "Asia/Dubai")
|
| (host-name "frostburn")
|
|
|
| (users (cons* (user-account
|
| (name "coldsideofyourpillow")
|
| (comment "mibs")
|
| (group "users")
|
| (home-directory "/home/coldsideofyourpillow")
|
| (supplementary-groups (list "wheel"
|
| "netdev"
|
| "audio"
|
| "video")))
|
| %base-user-accounts))
|
|
|
| (services
|
| (append (list (service gnome-desktop-service-type)
|
| (service tor-service-type)
|
| (service cups-service-type))
|
| %desktop-services))
|
|
|
| (bootloader (bootloader-configuration
|
| (bootloader grub-efi-bootloader)
|
| (targets (list "/boot/efi"))
|
| (keyboard-layout keyboard-layout)))
|
| (swap-devices (list (swap-space
|
| (target (uuid
|
| "3a21bb56-3b9a-4219-a516-7c722444b374")))))
|
| (mapped-devices (list (mapped-device
|
| (source (uuid
|
| "28d34538-565b-429a-9255-3f1e77a3db6a"))
|
| (target "crypthome")
|
| (type luks-device-mapping))
|
| (mapped-device
|
| (source (uuid
|
| "f13f2c28-b17b-42e7-ba76-ef92fd88a761"))
|
| (target "cryptroot")
|
| (type luks-device-mapping))))
|
|
|
| (file-systems (cons* (file-system
|
| (mount-point "/boot/efi")
|
| (device (uuid "7C29-FB81" 'fat32))
|
| (type "vfat"))
|
| (file-system
|
| (mount-point "/")
|
| (device "/dev/mapper/cryptroot")
|
| (type "btrfs")
|
| (dependencies mapped-devices))
|
| (file-system
|
| (mount-point "/home")
|
| (device "/dev/mapper/crypthome")
|
| (type "btrfs")
|
| (dependencies mapped-devices))
|
| %base-file-systems)))
|
| ice-9/eval.scm:223:20: In procedure proc:
|
| error: system-base: unbound variable
|
| hint: Did you forget `(use-modules (config systems base))'?
|