diff options
author | Thanos Apollo <[email protected]> | 2023-01-13 23:16:12 +0200 |
---|---|---|
committer | Thanos Apollo <[email protected]> | 2023-01-13 23:16:12 +0200 |
commit | 335fcb7f75d687e497a83cfa6804d66241826220 (patch) | |
tree | 3ff58e0311c48884a5c016cf1ed9c3b10638b9bd | |
parent | 304fae64fc9f4854f58968be729d5e4450e2fb45 (diff) |
guix: encapsulate systems
-rw-r--r-- | .config/guix/evilgnu.scm | 25 | ||||
-rw-r--r-- | .config/guix/system.scm | 155 |
2 files changed, 104 insertions, 76 deletions
diff --git a/.config/guix/evilgnu.scm b/.config/guix/evilgnu.scm new file mode 100644 index 0000000..6f10bb5 --- /dev/null +++ b/.config/guix/evilgnu.scm @@ -0,0 +1,25 @@ +(define-module (evilgnu) + #:use-module (system) + #:use-module (gnu)) + +(operating-system + (inherit base-operating-system) + (host-name "evilgnu") + + (file-systems (cons* (file-system + (mount-point "/boot/efi") + (device (uuid "021E-83B3" + 'fat32)) + (type "vfat")) + (file-system + (mount-point "/") + (device (uuid + "b0147644-6bbf-41b8-85c5-0a4c3fce042b" + 'ext4)) + (type "ext4")) + (file-system + (mount-point "/home") + (device (uuid + "4cf08e5e-47c3-41b4-bd05-abbe5e6f5590" + 'ext4)) + (type "ext4")) %base-file-systems))) diff --git a/.config/guix/system.scm b/.config/guix/system.scm index 032a83d..5f5255e 100644 --- a/.config/guix/system.scm +++ b/.config/guix/system.scm @@ -9,118 +9,121 @@ ;; Indicate which modules to import to access the variables ;; used in this configuration. -(use-modules (gnu) (nongnu packages linux)) -(use-service-modules cups desktop networking ssh xorg) +(define-module (system) + #:use-module (gnu) + #:use-module (nongnu packages linux)) + -(operating-system - (kernel linux) - (firmware (list linux-firmware)) - (locale "en_US.utf8") - (timezone "Europe/Athens") - (keyboard-layout (keyboard-layout "us,gr" - #:options - '("ctrl:nocaps"))) - (host-name "evilgnu") +(use-service-modules cups desktop networking ssh xorg) +(define-public base-operating-system + (operating-system + (kernel linux) + (firmware (list linux-firmware)) + (locale "en_US.utf8") + (timezone "Europe/Athens") + (keyboard-layout (keyboard-layout "us,gr" + #:options + '("ctrl:nocaps"))) + (host-name "evilgnu") - ;; The list of user accounts ('root' is implicit). - (users (cons* (user-account + ;; The list of user accounts ('root' is implicit). + (users (cons* (user-account (name "apollo") (comment "Apollo") (group "users") (home-directory "/home/apollo") (supplementary-groups '("wheel" "netdev" "audio" "video"))) - (user-account + (user-account (name "elliot") (comment "Elliot") (group "users") (home-directory "/home/elliot") (supplementary-groups '("wheel" "netdev" "audio" "video"))) - %base-user-accounts)) + %base-user-accounts)) - ;; 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 (append (map specification->package - `("emacs-exwm" - "emacs-desktop-environment" - "gnome" - "gnome-desktop" - "nss-certs" - "htop" - "python" - "firefox" - "telegram-desktop" - "alacritty" - "emacs-vterm" - "emacs-multi-vterm" - "bluez-alsa" - "gnome-bluetooth" - "blueman" - "qtile" - "flatpak" - "yt-dlp" - "git" - "nss-certs")) - %base-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 (append (map specification->package + `("emacs-exwm" + "emacs-desktop-environment" + "gnome" + "gnome-desktop" + "nss-certs" + "htop" + "python" + "firefox" + "telegram-desktop" + "alacritty" + "emacs-vterm" + "emacs-multi-vterm" + "bluez-alsa" + "gnome-bluetooth" + "blueman" + "qtile" + "flatpak" + "yt-dlp" + "git")) + %base-packages)) - ;; Below is the list of system services. To search for available - ;; services, run 'guix system search KEYWORD' in a terminal. - (services - (append (list (service gnome-desktop-service-type) - ;; (service static-networking-service-type - ;; (list (static-networking - ;; (addresses - ;; (list (network-address - ;; (device "enp5s0") - ;; (value "192.168.1.26/24")))) - ;; (routes - ;; (list (network-route - ;; (destination "default") - ;; (gateway "192.168.1.255")))) - ;; (name-servers '("192.168.1.1" - ;; "8.8.8.8" - ;; "fe80::1%enp5s0"))))) - ;; To configure OpenSSH, pass an 'openssh-configuration' - ;; record as a second argument to 'service' below. - (service openssh-service-type) - (bluetooth-service #:auto-enable? #t) - (service cups-service-type) - (set-xorg-configuration - (xorg-configuration (keyboard-layout keyboard-layout)))) - ;; This is the default list of services we - ;; are appending to. - %desktop-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 gnome-desktop-service-type) + ;; (service static-networking-service-type + ;; (list (static-networking + ;; (addresses + ;; (list (network-address + ;; (device "enp5s0") + ;; (value "192.168.1.26/24")))) + ;; (routes + ;; (list (network-route + ;; (destination "default") + ;; (gateway "192.168.1.255")))) + ;; (name-servers '("192.168.1.1" + ;; "8.8.8.8" + ;; "fe80::1%enp5s0"))))) + ;; To configure OpenSSH, pass an 'openssh-configuration' + ;; record as a second argument to 'service' below. + (service openssh-service-type) + (bluetooth-service #:auto-enable? #t) + (service cups-service-type) + (set-xorg-configuration + (xorg-configuration (keyboard-layout keyboard-layout)))) + ;; This is the default list of services we + ;; are appending to. + %desktop-services)) ;; (static-networking-service "eth0" "192.168.1.26" ;; #:netmask "255.255.255.0" ;; #:gateway "192.168.1.255" ;; #:name-servers '("192.168.1.1" ;; "8.8.8.8"))) - (bootloader (bootloader-configuration + (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) - (swap-devices (list (swap-space + (swap-devices (list (swap-space (target (uuid "7c3875ab-ccc0-49b5-bdd5-b49909cf3c01"))))) - ;; 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 + ;; 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 "/boot/efi") (device (uuid "021E-83B3" 'fat32)) (type "vfat")) - (file-system + (file-system (mount-point "/") (device (uuid "b0147644-6bbf-41b8-85c5-0a4c3fce042b" 'ext4)) (type "ext4")) - (file-system + (file-system (mount-point "/home") (device (uuid "4cf08e5e-47c3-41b4-bd05-abbe5e6f5590" 'ext4)) - (type "ext4")) %base-file-systems))) + (type "ext4")) %base-file-systems)))) |