From: Jakub Czajka Date: Mon, 11 Jul 2022 18:07:57 +0000 (+0200) Subject: [system] Initialize configuration. X-Git-Url: https://git.ekhem.eu.org/?a=commitdiff_plain;h=c5f7e8f9086eea7191860fcabcd9bf592450cdc5;p=guix.git [system] Initialize configuration. `guix system` installs a whole GNU/Linux system configuration. This commit adds a basic configuration with the GNOME desktop. --- diff --git a/Makefile b/Makefile index 76cc090..80bc1af 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,11 @@ home: 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 diff --git a/README b/README index f0c139b..2c0b177 100644 --- a/README +++ b/README @@ -9,5 +9,6 @@ Files ----- * 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-specific dotfiles. diff --git a/system.scm b/system.scm new file mode 100644 index 0000000..ca9f2be --- /dev/null +++ b/system.scm @@ -0,0 +1,70 @@ +;; Copyright (c) 2022 Jakub Czajka +;; 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)))