;; 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. (use-modules (gnu) (guix packages) (rosenthal packages binaries) (rosenthal packages emacs-xyz) (guix transformations) (gnu packages audio) (gnu packages librewolf) (gnu packages gdb) (gnu packages graphics) (gnu packages java) (gnu packages fcitx5) (gnu packages ibus) (gnu packages gnuzilla) (gnu services mcron) (gnu packages haskell) (gnu packages ebook) (gnu packages lisp-xyz) (gnu packages rust-apps) (rde features bluetooth) (gnu packages gcc) (gnu packages pulseaudio) (gnu packages tor) (gnu packages commencement) (gnu packages guile-xyz) (gnu packages freedesktop) (gnu packages image) (gnu packages image-viewers) (gnu packages xfce) (srfi srfi-1) ;; for nyxt (gnu packages gstreamer) (gnu packages web-browsers) ;;--------- (gnu services) (gnu services base) (gnu packages terminals) (gnu packages music) (gnu packages compton) (gnu packages version-control) (gnu packages lxqt) (gnu packages file-systems) (gnu packages admin) (gnu packages bittorrent) (gnu packages compression) (gnu packages curl) (gnu packages emacs) (gnu packages emacs-xyz) (gnu packages engineering) (gnu packages fonts) (gnu packages tmux) (gnu packages dictionaries) (gnu packages emulators) (gnu packages fontutils) (gnu packages gimp) (gnu packages gnome) (gnu packages gnome-xyz) (gnu packages gnupg) (gnu packages haskell-apps) (gnu packages imagemagick) (gnu packages libreoffice) (gnu packages linux) (gnu packages lisp) (gnu packages mpd) (gnu packages package-management) (gnu packages rsync) (gnu packages gimp) (gnu packages ssh) (gnu packages telegram) (gnu packages video) (gnu packages wm) (gnu packages xdisorg) (gnu packages xorg) (gnu home services gnupg) (gnu home services xdg) (guix channels) (guix inferior) (gnu packages networking) (nongnu packages compression) (nongnu packages linux)) (use-service-modules cups desktop networking ssh xorg linux certbot shepherd configuration web) (use-package-modules version-control gcc bash certs admin linux ) (define %8bitdo-udev-rules (udev-rule "99-8bitdo-controllers.rules" "SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Wireless*Controller\", MODE=\"0664\", TAG+=\"uaccess\" SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Bluetooth*Gamepad\", MODE=\"0664\", TAG+=\"uaccess\" SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Ultimate*Wired*Controller\", MODE=\"0664\", TAG+=\"uaccess\" SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Ultimate*Bluetooth*Controller\", MODE=\"0664\", TAG+=\"uaccess\" SUBSYSTEM==\"input\", ATTRS{name}==\"8BitDo*Ultimate*Bluetooth*Controller*2.4G\", MODE=\"0664\", TAG+=\"uaccess\" SUBSYSTEM==\"usb\", ATTR{idVendor}==\"2dc8\", ATTR{idProduct}==\"3106\", RUN+=\"/usr/bin/env modprobe xpad\" KERNEL==\"xpad\", SUBSYSTEM==\"drivers\", ACTION==\"add\", ATTR{new_id}=\"2dc8 3106\"")) (define my-kernel linux-6.1) (define my-zfs (package (inherit zfs) (arguments (cons* #:linux my-kernel (package-arguments zfs))))) (operating-system (kernel my-kernel) (initrd base-initrd) (firmware (list linux-firmware)) (locale "en_US.utf8") (kernel-arguments (list "modprobe.blacklist=hid-nintendo")) (timezone "America/Manaus") (keyboard-layout (keyboard-layout "us")) (host-name "lisp-machine") (kernel-loadable-modules (list (list my-zfs "module"))) ;; The list of user accounts ('root' is implicit). (users (cons* (user-account (name "hashirama") (comment "Hashirama") (group "users") (home-directory "/home/hashirama") (supplementary-groups '("wheel" "netdev" "audio" "video" "lp"))) %base-user-accounts)) ;; 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 (list my-zfs ;;emacs-org-roam ;;emacs-org-roam-ui ;; ----- ;;necessary for nyxt gstreamer gst-plugins-bad gst-plugins-good ;;------ nyxt ;;------ cmus emacs-ox-hugo sbcl-coleslaw tor ibus dconf gimp blender gimp-resynthesizer wmctrl libwebp libreoffice librewolf ;; audio ardour noise-repellent ;; xprop fzf zstd aria2 ;; wakatime wakapi-bin wakatime-cli-bin emacs-wakatime-mode ;; xrdb noisetorch mpv ;;emasc-everywhere xdotool xprop xclip xwininfo ;; xdg-user-dirs xdg-desktop-portal-gtk xdg-desktop-portal tmux polybar gnupg sdcv alacritty font-dejavu ;;------ higan maim p7zip htop scrot flameshot neofetch pfetch openjdk ;;element-desktop ;; bluetooth bluez blueman ;; ime fcitx5 fcitx5-gtk fcitx5-qt fcitx5-anthy fcitx5-gtk4 fcitx5-configtool ;; icecat ffmpeg nsxiv pinentry git pavucontrol-qt emacs emacs-bluetooth xrandr qbittorrent emacs-rainbow-delimiters emacs-olivetti emacs-telega emacs-sly emacs-ccls emacs-rmsbolt sbcl emacs-nerd-icons emacs-esxml ripgrep gdb emacs-olivetti emacs-deadgrep emacs-realgud emacs-rg emacs-dumb-jump emacs-circe zip thunar unzip ;;emacs-nov-el fontconfig ;; font-apple-color-emoji picom feh xmodmap ;; deps for xmonad xmonad xmobar ghc ;; ridiculous, gcc and ghc are runtime dependencies , yet people didnt put in the package description gcc gcc-toolchain xmessage ghc-xmonad-contrib rofi linux-libre-headers ;;-------- yt-dlp ;; nicotine+ linux-firmware (specification->package "jami") ) %base-packages)) ;;(home-environment (packages (cons* anki ))) ;; figure out how to install it from here ;; Below is the list of system services. To search for available ;; services, run 'guix system search KEYWORD' in a terminal. (services (append (list (simple-service 'my-zfs-loader kernel-module-loader-service-type '("zfs")) (simple-service 'my-jp-ime-env session-environment-service-type '(("GTK_IM_MODULE" . "fcitx") ("QT_IM_MODULE" . "fcitx") ("GUIX_GTK2_IM_MODULE_FILE" . "/run/current-system/profile/lib/gtk-2.0/2.10.0/immodules-gtk2.cache") ("GUIX_GTK3_IM_MODULE_FILE" . "/run/current-system/profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache") ("XMODIFIERS=@im=" . "fcitx") ("INPUT_METHOD" . "fcitx") ("XIM_PROGRAM" . "fcitx") ("GLFW_IM_MODULE" . "ibus"))) (service zram-device-service-type (zram-device-configuration (size "3G") (compression-algorithm 'lz4) (priority 100))) ;; (service oci-forgejo-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout))) (udev-rules-service '8bitdo %8bitdo-udev-rules) #| Compress my mpv screenshots periodically |# (service mcron-service-type (mcron-configuration (jobs (list #~(job "0 14 * * *" "find /mnt/Data/mpv-screenshots/ -type f \\( -iname '.png' -o -iname '.jpg' \\) -exec sh -c 'cwebp -q 80 \"$0\" -o \"${0%.*}.webp\" && rm \"$0\"' {} \\;"))))) ) %desktop-services) ) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (swap-devices (list (swap-space (target (uuid "4f829a61-6f51-435b-bade-2991c094080f"))))) ;; 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 "7C90-0F50" 'fat32)) (type "vfat")) (file-system (mount-point "/") (device (uuid "ef8ef1c0-99bd-431a-abde-e2fc6421da60" 'ext4)) (type "ext4")) ;; (file-system ;; (mount-point "/mnt/Reading") ;; (device (uuid ;; "223baecf-e5f4-453f-90c7-d33edbbae145" ;; 'ext4)) ;; (type "ext4")) (file-system (mount-point "/mnt/Quartz") (device (uuid "b0e97572-255c-4f6e-9a0a-9a89ae99f1a5" 'ext4)) (type "ext4")) (file-system (mount-point "/mnt/Sources") (device (uuid "c01d762b-0c91-43c0-9c80-e048c4abe939" 'ext4)) (type "ext4")) %base-file-systems)))