diff options
-rwxr-xr-x | .config/guix/zeus.scm | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/.config/guix/zeus.scm b/.config/guix/zeus.scm new file mode 100755 index 0000000..3760012 --- /dev/null +++ b/.config/guix/zeus.scm @@ -0,0 +1,160 @@ +;; This is an operating system configuration generated +;; by the graphical installer. +;; +;; Once installation is complete, you can learn and modify +;; this file to tweak the system configuration, and pass it +;; to the 'guix system reconfigure' command to effect your +;; changes. + + +;; Indicate which modules to import to access the variables +;; used in this configuration. + +(define-module (zeus) + #:use-module (gnu) + #:use-module (srfi srfi-1) + #:use-module (gnu system nss) + #:use-module (gnu services pm) + #:use-module (gnu services ssh) + #:use-module (gnu services cups) + #:use-module (gnu services guix) + #:use-module (gnu services desktop) + #:use-module (gnu services docker) + #:use-module (gnu services networking) + #:use-module (gnu services virtualization) + #:use-module (gnu packages wm) + #:use-module (gnu packages cups) + #:use-module (gnu packages vim) + #:use-module (gnu packages gtk) + #:use-module (gnu packages xorg) + #:use-module (gnu packages emacs) + #:use-module (gnu packages file-systems) + #:use-module (gnu packages gnome) + #:use-module (gnu packages mtools) + #:use-module (gnu packages linux) + #:use-module (gnu packages audio) + #:use-module (gnu packages gnuzilla) + #:use-module (gnu packages web-browsers) + #:use-module (gnu packages version-control) + #:use-module (gnu packages package-management) + #:use-module (gnu packages linux) + #:use-module (nongnu packages linux) + #:use-module (nongnu system linux-initrd)) + + +(use-service-modules cups desktop networking ssh xorg) + +(operating-system + (host-name "zeus") + + (kernel linux) + (firmware (list linux-firmware)) + (initrd microcode-initrd) + + (kernel-loadable-modules (list v4l2loopback-linux-module)) + + (locale "en_US.utf8") + (timezone "Europe/Athens") + (keyboard-layout (keyboard-layout "us" + #:options + '("ctrl:nocaps"))) + + ;; The list of user accounts ('root' is implicit). + (users (cons (user-account + (name "apollo") + (comment "Thanos Apollo") + (group "users") + (home-directory "/home/apollo") + (supplementary-groups '("wheel" ;; sudo + "netdev" ;; network devices + "kvm" + "tty" + "input" + "realtime" ;; Enable realtime scheduling + "lp" ;; control bluetooth devices + "audio" ;; control audio devices + "video"))) ;; control video devices + + %base-user-accounts)) + + ;; Add the 'realtime' group + (groups (cons (user-group (system? #t) (name "realtime")) + %base-groups)) + + ;; 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" + "emacs" + "emacs-guix" + "emacs-vterm" + "emacs-dashboard" + "emacs-multi-vterm" + "xrandr" + "picom" + "gnome" + "gnome-desktop" + "nss-certs" + "python" + "bind" + "alacritty" + "emacs-vterm" + "emacs-multi-vterm" + "alsa-utils" + "bluez-alsa" + "gnome-bluetooth" + "blueman" + "qtile" + "git" + "font-jetbrains-mono")) + %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 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)) + (bootloader (bootloader-configuration + (bootloader grub-efi-bootloader) + (targets (list "/boot/efi")) + (keyboard-layout keyboard-layout))) + (mapped-devices (list (mapped-device + (source (uuid + "0594b592-ddcb-4a3c-958d-c773d7a85d93")) + (target "cryptroot") + (type luks-device-mapping)) + (mapped-device + (source (uuid + "a44f40ec-94c3-457a-a9ed-5db5396f3aea")) + (target "crypthome") + (type luks-device-mapping)))) + + ;; 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 "98B8-B93E" + 'fat32)) + (type "vfat")) + (file-system + (mount-point "/") + (device "/dev/mapper/cryptroot") + (type "ext4") + (dependencies mapped-devices)) + (file-system + (mount-point "/home") + (device "/dev/mapper/crypthome") + (type "ext4") + (dependencies mapped-devices)) %base-file-systems))) + |