(use-modules (gnu) ((gnu packages emacs-xyz) #:select (emacs-exwm-no-x-toolkit)) ((gnu packages suckless) #:select (slock)) (gnu services dbus) (gnu services desktop) (gnu services dict) (gnu services networking) (gnu services sound) (gnu services virtualization) (gnu services vpn) (gnu services xorg)) (operating-system (host-name "steel") (timezone "Europe/London") (locale "ta_IN.utf8") (kernel-arguments (cons "zswap.enabled=1" %default-kernel-arguments)) (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets (list "/dev/sda")))) (mapped-devices (list (mapped-device ;; LUKS partition UUID (source (uuid "8f9d63b5-2030-4c3c-8779-3ab711ad2a9f")) (target "cryptlvm") (type luks-device-mapping)) (mapped-device (source "VolumeGroup") (targets (list "VolumeGroup-root" "VolumeGroup-home" "VolumeGroup-swap")) (type lvm-device-mapping)))) (file-systems (append (list (file-system (device (file-system-label "root")) (mount-point "/") (type "btrfs") (options "compress-force=zstd") (dependencies mapped-devices)) (file-system (device (file-system-label "home")) (mount-point "/home") (type "ext4") (dependencies mapped-devices)) (file-system (device "none") (mount-point "/tmp") (type "tmpfs") (options "size=8G"))) %base-file-systems)) (swap-devices (list (swap-space (target (file-system-label "swap")) (dependencies mapped-devices) (discard? #t)))) (users (cons* (user-account (name "arun") (comment "Arun Isaac") (group "users") (supplementary-groups '("audio" "video" "wheel" "dialout")) (home-directory "/home/arun")) (user-account (name "nardhini") (comment "Nardhini") (group "users") (supplementary-groups '("audio" "video")) (home-directory "/home/nardhini")) (user-account (name "guest") (comment "Guest") (group "users") (supplementary-groups '("audio" "video")) (home-directory "/home/guest")) %base-user-accounts)) ;; This is where we specify system-wide packages. (packages (cons* emacs-exwm-no-x-toolkit (make-glibc-utf8-locales glibc #:locales (list "en_GB" "en_US" "ta_IN") #:name "glibc-tamil-locales") %base-packages)) (services (cons* (service dbus-root-service-type) (service elogind-service-type) fontconfig-file-system-service (service screen-locker-service-type (screen-locker-configuration (name "slock") (program (file-append slock "/bin/slock")))) (service alsa-service-type) (service dhcpcd-service-type) (service dicod-service-type) (service ntp-service-type) (service pulseaudio-service-type) (service qemu-binfmt-service-type (qemu-binfmt-configuration (platforms (lookup-qemu-platforms "riscv64")))) (service slim-service-type (slim-configuration (xorg-configuration (xorg-configuration (extra-config ;; Enable tap on touchpad. (list "Section \"InputClass\" Identifier \"SynPS/2 Synaptics TouchPad\" Driver \"libinput\" Option \"Tapping\" \"on\" EndSection")))))) (service udisks-service-type) ;; TODO: Manage WiFi passwords as secrets that ;; don't get into the store. (service wpa-supplicant-service-type (wpa-supplicant-configuration (interface "wlp0s29u1u3") (config-file (local-file "wpasupplicant.conf")))) (service wireguard-service-type (wireguard-configuration (addresses (list "192.168.2.15/24")) (peers (list (wireguard-peer (name "mugam") (endpoint "188.166.169.68:51820") (public-key "9JMD6qvC0n01R3Ky/4hk4Z2LraNQJtCCeYZi0UYEvAA=") (allowed-ips (list "192.168.2.0/24"))))))) (service block-facebook-hosts-service-type) %base-services)) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss))