GUIX_PACKAGE_PATH=`pwd` guix home reconfigure home.scm
. $(guix-profile)/etc/profile
+system:
+ sudo GUIX_PACKAGE_PATH=`pwd` guix system reconfigure system.scm
+
tags:
find $(guix-store) -wholename "*guix-$(guix-version)*.scm" -or \
- -wholename "*guix-module-union*.scm" | xargs etags
+ -wholename "*guix-module-union*.scm" -or \
+ -wholename "*guix-system-source*.scm" | xargs etags
find `pwd` -name "*.scm" | xargs etags --append
-----
* home.scm - home directory configuration for the GNU Guix operating system.
+* system.scm - system configuration for the GNU Guix operating system.
* conf/home/ - custom GNU Guix programs and services for the home directory.
* <program>/ - program-specific dotfiles.
--- /dev/null
+;; Copyright (c) 2022 Jakub Czajka <jakub@ekhem.eu.org>
+;; License: GPL-3.0 or later.
+;;
+;; system.scm - system configuration for GNU Guix.
+
+(use-modules (gnu)
+ (gnu system nss))
+
+(use-package-modules certs
+ gnome
+ linux)
+
+(use-service-modules desktop
+ xorg)
+
+(operating-system
+ (kernel linux-libre)
+ (keyboard-layout
+ (keyboard-layout "us"))
+ (bootloader
+ (bootloader-configuration
+ (bootloader
+ (bootloader
+ (inherit grub-bootloader)
+ (installer #~(const #t))))
+ (keyboard-layout keyboard-layout)))
+ (host-name "machine")
+ (mapped-devices
+ (list (mapped-device
+ (source
+ (uuid "565d174f-3d96-45a1-8bef-fdab38e4d35a"))
+ (target "fde")
+ (type luks-device-mapping))
+ (mapped-device
+ (source "matrix")
+ (targets
+ (list "matrix-rootvol" "matrix-swapvol"))
+ (type lvm-device-mapping))))
+ (file-systems
+ (append
+ (list (file-system
+ (type "ext4")
+ (mount-point "/")
+ (device (file-system-label "root"))
+ (flags '(no-atime))
+ (needed-for-boot? #t)
+ (dependencies mapped-devices)))
+ %base-file-systems))
+ (swap-devices
+ (list (file-system-label "swap")))
+ (users
+ (append
+ (list (user-account
+ (name "dak")
+ (group "users")
+ (supplementary-groups
+ (list "audio" "cdrom" "lp" "netdev" "tape" "video" "wheel"))))
+ %base-user-accounts))
+ (packages
+ (append
+ (list gnu-make
+ nss-certs)
+ %base-packages))
+ (timezone "Europe/Warsaw")
+ (locale "en_US.UTF-8")
+ (name-service-switch %mdns-host-lookup-nss)
+ (services
+ (append
+ (list (service gnome-desktop-service-type))
+ %desktop-services)))