diff options
author | Thanos Apollo <[email protected]> | 2023-05-06 13:33:06 +0300 |
---|---|---|
committer | Thanos Apollo <[email protected]> | 2023-05-06 13:33:06 +0300 |
commit | 4131e533d10d8d55a7301c882822e1461db1ecf2 (patch) | |
tree | c4436b91ccfb254a88e82f737d76334e05ee559d /guix.org | |
parent | bc76001b993ee1878c30f94aa1f357b3dc2a6bec (diff) |
guix: Readd old guix for x220 testing
Diffstat (limited to 'guix.org')
-rw-r--r-- | guix.org | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/guix.org b/guix.org new file mode 100644 index 0000000..6795f36 --- /dev/null +++ b/guix.org @@ -0,0 +1,179 @@ +* Guix x220 +#+begin_src scheme + ;; 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 (hermes) + #: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 (gnu packages admin) + #:use-module (nongnu packages linux) + #:use-module (nongnu system linux-initrd)) + + + (use-service-modules cups desktop networking ssh xorg) + + (operating-system + (host-name "hermes") + + (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" + "emacs-pdf-tools" + "emacs-stumpwm-mode" + "stumpish" + "xrandr" + "picom" + "gnome" + "gnome-desktop" + "nss-certs" + "python" + "bind" + "alacritty" + "emacs-vterm" + "emacs-multi-vterm" + "alsa-utils" + "bluez-alsa" + "gnome-bluetooth" + "blueman" + "qtile" + "git" + "stumpwm" + "rofi" + "qemu" + "libvirt" + "virt-manager" + "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) + (service bluetooth-service-type) + (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)) + (file-system + (mount-point "/home/apollo/external") + (device "/dev/sda1") + (type "ext4") + (dependencies mapped-devices)) + %base-file-systems))) +#+end_src |