(use-modules (gnu) (srfi srfi-1) ((gnu packages linux) #:prefix gnu-linux:) (gnu packages admin) (gnu packages certs) (gnu packages ssh) (gnu packages vim) (gnu packages wm) (gnu packages wget) (gnu packages xdisorg) (gnu packages xorg) (gnu packages video) (gnu services virtualization) (gnu services pm) (tuxedo-keyboard) (nongnu packages linux) (nongnu system linux-initrd)) ;; TODO: Remove me when NlNet project ends (use-modules (guix inferior) (guix channels) (srfi srfi-1)) (define channels (list (channel (name 'ekaitz) (url "git://git.elenq.tech/guix-packages") (branch "master") (commit "228e85fc043aa127ab0820109068def10db5861b")) (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (branch "master") (commit "447e9c96259e8fa15a828de9b2dd3400e2ffafe6")))) (define inferior (inferior-for-channels channels)) (define qemu (first (lookup-inferior-packages inferior "qemu" "7"))) (use-service-modules desktop networking ssh xorg) (operating-system (kernel linux) (kernel-loadable-modules `(,tuxedo-keyboard)) (initrd microcode-initrd) (firmware (list linux-firmware)) (locale "en_US.utf8") (timezone "Europe/Madrid") (keyboard-layout (keyboard-layout "es")) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (swap-devices (list (swap-space (target "/dev/sda3")))) (file-systems (cons* (file-system (mount-point "/boot/efi") (device (uuid "6BB8-3AFE" 'fat32)) (type "vfat")) (file-system (mount-point "/") (device (uuid "eee511d3-b473-4bc0-ba63-bf3971341576" 'ext4)) (type "ext4")) (file-system (mount-point "/home") (device (uuid "49ebc09e-6021-4730-a467-b8818c2128f1" 'ext4)) (type "ext4")) %base-file-systems)) (host-name "tuxedo") (users (cons* (user-account (name "Ekaitz") (comment "Ekaitz") (group "users") (home-directory "/home/Ekaitz") (supplementary-groups '("wheel" "netdev" "audio" "video" "lp" "dialout" "kvm"))) %base-user-accounts)) (packages (cons* htop gnu-linux:light i3-wm neovim tree wget tcpdump openssh thermald intel-vaapi-driver xf86-input-wacom gnu-linux:ntfs-3g qemu %base-packages)) (services (cons* (udev-rules-service 'light gnu-linux:light) (service gnome-desktop-service-type) (service thermald-service-type) (simple-service 'adwaita-dark-theme session-environment-service-type '(("GTK_THEME" . "Adwaita:dark"))) (service bluetooth-service-type (bluetooth-configuration (auto-enable? #t))) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout) (modules (append %default-xorg-modules (list xf86-input-wacom))) (extra-config '("\n" "\n" "Section \"InputClass\"\n" " Identifier \"libinput touchpad catchall\"\n" " Driver \"libinput\"\n" " MatchIsTouchpad \"on\"\n" " MatchDevicePath \"/dev/input/event*\"\n" " Option \"Tapping\" \"on\"\n" " Option \"TappingDrag\" \"on\"\n" " Option \"DisableWhileTyping\" \"on\"\n" "EndSection\n" "\n" "Section \"InputClass\"" " Identifier \"keyboard defaults\"" " MatchIsKeyboard \"on\"" " Option \"XkbLayout\" \"es,us,ru\"" " Option \"XkbOptions\" \"grp:alt_space_toggle\"" "EndSection\n" "\n" ; https://wiki.archlinux.org/title/Libinput#Via_xinput "Section \"InputClass\"\n" " Identifier \"USB Mouse Pad USB Mouse Pad Mouse\"\n" " Driver \"libinput\"\n" " MatchDevicePath \"/dev/input/event*\"\n" " MatchUSBID \"062a:8255\"\n" " Option \"Middle Emulation\" \"on\"\n" " Option \"AccelSpeed\" \"-0.9\"" "EndSection\n" "\n" "\n" "Section \"Device\"\n" " Identifier \"modesetting\"\n" " Driver \"modesetting\"\n" " Option \"TearFree\" \"True\"\n" "EndSection" "\n" )))) (service qemu-binfmt-service-type (qemu-binfmt-configuration (platforms (lookup-qemu-platforms "riscv64" "aarch64")) (qemu qemu))) ; Removes ModemManager because it interferes with USB ; development. If using a 3/4G modem or something we have ; to activate it. (remove (lambda (x) (eqv? (service-type-name (service-kind x)) 'modem-manager)) ; Configure nonguix substitutes (modify-services %desktop-services (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (append (list "https://substitutes.nonguix.org") %default-substitute-urls)) (authorized-keys (append (list (local-file "./non-guix-signing-key.pub")) %default-authorized-guix-keys)))))))))