summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.config/guix/zeus.scm160
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)))
+