modern_lisp-machine/config.scm

453 lines
11 KiB
Scheme
Raw Permalink Normal View History

2024-10-30 01:17:17 +00:00
; This is an operating system configuration generated
2024-06-01 05:00:40 +00:00
;; 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.
2024-03-01 23:48:49 +00:00
(use-modules
2024-05-02 16:37:36 +00:00
(gnu)
2024-02-03 04:12:40 +00:00
(guix packages)
2024-10-30 01:17:17 +00:00
(ajatt packages dictionaries)
(ajatt packages suckless)
(ajatt packages readers)
(ajatt packages audio)
2024-06-01 05:00:40 +00:00
(rosenthal packages binaries)
(rosenthal packages emacs-xyz)
2024-10-30 01:17:17 +00:00
(radix services admin)
(radix packages image-viewers)
(gnu packages disk)
2024-05-02 16:37:36 +00:00
(guix transformations)
2024-09-08 20:03:55 +00:00
(gnu packages python-xyz)
2024-10-30 01:17:17 +00:00
(gnu packages fonts)
(gnu packages pdf)
2024-05-02 16:37:36 +00:00
(gnu packages audio)
2024-06-01 05:00:40 +00:00
(gnu packages librewolf)
2024-09-08 20:03:55 +00:00
(gnu packages sync)
(gnu packages qt)
2024-06-01 05:00:40 +00:00
(gnu packages gdb)
(gnu packages graphics)
2024-05-02 16:37:36 +00:00
(gnu packages java)
2024-02-03 04:12:40 +00:00
(gnu packages fcitx5)
2024-05-02 16:37:36 +00:00
(gnu packages ibus)
2024-09-13 02:39:47 +00:00
(gnu services dbus)
2024-02-03 04:12:40 +00:00
(gnu packages gnuzilla)
(gnu services mcron)
2024-03-02 19:12:23 +00:00
(gnu packages haskell)
2024-03-15 19:24:37 +00:00
(gnu packages ebook)
2024-05-02 16:37:36 +00:00
(gnu packages lisp-xyz)
(gnu packages rust-apps)
(rde features bluetooth)
2024-03-02 19:12:23 +00:00
(gnu packages gcc)
2024-05-02 16:37:36 +00:00
(gnu packages pulseaudio)
2024-10-30 01:17:17 +00:00
(gnu packages mail)
2024-09-08 20:03:55 +00:00
(gnu packages enchant)
(gnu packages hunspell)
(gnu packages upnp)
2024-05-02 16:37:36 +00:00
(gnu packages tor)
2024-03-02 19:12:23 +00:00
(gnu packages commencement)
2024-05-02 16:37:36 +00:00
(gnu packages guile-xyz)
2024-03-01 23:48:49 +00:00
(gnu packages freedesktop)
(gnu packages image)
2024-01-15 20:13:28 +00:00
(gnu packages image-viewers)
2024-03-01 23:48:49 +00:00
(gnu packages xfce)
(srfi srfi-1)
2024-05-02 16:37:36 +00:00
;; for nyxt
2024-03-01 23:48:49 +00:00
(gnu packages gstreamer)
2024-01-15 20:13:28 +00:00
(gnu packages web-browsers)
2024-05-02 16:37:36 +00:00
;;---------
2024-01-15 20:13:28 +00:00
(gnu services)
2024-06-01 05:00:40 +00:00
(gnu services base)
2024-01-15 20:13:28 +00:00
(gnu packages terminals)
(gnu packages music)
2024-03-01 23:48:49 +00:00
(gnu packages compton)
2024-01-15 20:13:28 +00:00
(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)
2024-02-03 04:12:40 +00:00
(gnu packages tmux)
(gnu packages dictionaries)
(gnu packages emulators)
2024-01-15 20:13:28 +00:00
(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)
2024-05-02 16:37:36 +00:00
(gnu packages gimp)
2024-01-15 20:13:28 +00:00
(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)
2024-03-01 23:48:49 +00:00
(guix channels)
(guix inferior)
2024-05-02 16:37:36 +00:00
(gnu packages networking)
2024-01-15 20:13:28 +00:00
(nongnu packages compression)
2024-10-30 01:17:17 +00:00
(nongnu packages messaging)
2024-05-02 16:37:36 +00:00
(nongnu packages linux))
2024-06-10 21:09:24 +00:00
(use-service-modules cups desktop networking ssh xorg linux certbot shepherd configuration web nix)
2024-05-02 16:37:36 +00:00
(use-package-modules version-control gcc bash certs admin linux )
2024-01-11 18:51:39 +00:00
2024-06-01 05:00:40 +00:00
(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\""))
2024-03-01 23:48:49 +00:00
2024-10-30 01:17:17 +00:00
;; general rules for doas
(define general
(list (permit (identity ":wheel")
(setenv
`(("GUILE_LOAD_PATH" . #t)
("GUILE_LOAD_COMPILED_PATH" . #t))))))
2024-03-01 23:48:49 +00:00
2024-01-11 18:51:39 +00:00
(define my-kernel linux-6.1)
2024-03-01 23:48:49 +00:00
2024-01-11 18:51:39 +00:00
(define my-zfs
(package
2024-05-02 16:37:36 +00:00
(inherit zfs)
(arguments
(cons* #:linux my-kernel
(package-arguments zfs)))))
2024-01-11 18:51:39 +00:00
(operating-system
2024-05-02 16:37:36 +00:00
(kernel my-kernel)
(initrd base-initrd)
(firmware (list linux-firmware))
(locale "en_US.utf8")
2024-09-08 20:03:55 +00:00
(kernel-arguments (list "modprobe.blacklist=hid-nintendo"
2024-10-30 01:17:17 +00:00
"noatime"
))
2024-05-02 16:37:36 +00:00
(timezone "America/Manaus")
(keyboard-layout (keyboard-layout "us"))
(host-name "lisp-machine")
(kernel-loadable-modules (list (list my-zfs "module")))
2024-03-01 23:48:49 +00:00
2024-05-02 16:37:36 +00:00
;; 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))
2024-01-11 18:51:39 +00:00
2024-05-02 16:37:36 +00:00
;; 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
2024-10-30 01:17:17 +00:00
my-zfs
;;emacs-org-roam
;;emacs-org-roam-ui
;; -----
;;necessary for nyxt
gstreamer
gst-plugins-bad
gst-plugins-good
;;------
nyxt
;;------
cmus
emacs-ox-hugo
emacs-dirvish
qt-creator
sbcl-coleslaw
numix-gtk-theme
tor
python-psutil
python-schedule
xsel
;; ajatt
suckless-dictpopup
goldendict-ng
foliate
impd
sylpheed
sselp
navidrome-bin
;;
kitty
element-desktop
lm-sensors
;;emulators
mupen64plus-ui-console
mupen64plus-input-sdl
mupen64plus-audio-sdl
mupen64plus-core
mupen64plus-video-glide64
dolphin-emu
;;--------------------
gerbera
ibus
ueberzug++
dconf
gimp
sioyek
nextcloud-client
blender
gimp-resynthesizer
wmctrl
imagemagick
zpaq
libwebp
libreoffice
librewolf
;; audio
ardour
noise-repellent
;;
;; nextcloud-client
xset
xprop
fzf
zstd
aria2
;; wakatime
wakapi-bin
2024-06-01 05:00:40 +00:00
wakatime-cli-bin
2024-10-30 01:17:17 +00:00
emacs-wakatime-mode
;;
xrdb
noisetorch
mpv
;;emasc-everywhere
xdotool
xprop
xclip
xwininfo
;;
xdg-user-dirs
xdg-desktop-portal-gtk
xdg-desktop-portal
tmux
pinentry
polybar
gnupg
sdcv
alacritty
font-dejavu
;;------
higan
maim
p7zip
htop
scrot
flameshot
neofetch
pfetch
openjdk
;;element-desktop
;; bluetooth
bluez
bluez-alsa
blueman
;; ime
enchant
hunspell
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-haskell-mode
emacs-ligature
emacs-sly
emacs-org-roam
emacs-ccls
emacs-lsp-mode
emacs-lsp-ui
emacs-rmsbolt
font-iosevka-comfy
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
2024-01-15 20:13:28 +00:00
fontconfig
2024-10-30 01:17:17 +00:00
;; font-apple-color-emoji
picom
feh
;; ================
;; haskell
cabal-install
;; deps for xmonad
xmonad
xmobar
ghc ;; ridiculous, gcc and ghc are runtime dependencies , yet people didnt put in the package description
ghc-xmonad-contrib
;; ==================
gcc
gcc-toolchain
xmessage
xmodmap
rofi
linux-libre-headers
;;--------
yt-dlp
;; nicotine+
linux-firmware
(specification->package "jami")
)
2024-05-02 16:37:36 +00:00
%base-packages))
2024-01-15 20:13:28 +00:00
2024-05-02 16:37:36 +00:00
;;(home-environment (packages (cons* anki ))) ;; figure out how to install it from here
2024-03-01 23:48:49 +00:00
2024-05-02 16:37:36 +00:00
;; Below is the list of system services. To search for available
;; services, run 'guix system search KEYWORD' in a terminal.
(services
2024-09-08 20:03:55 +00:00
2024-05-02 16:37:36 +00:00
(append (list (simple-service 'my-zfs-loader
2024-10-30 01:17:17 +00:00
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")
;; this makes qt programs looks sharper
("QML_DISABLE_DISTANCEFIELD" . "1")
("QT_QUICK_CONTROLS_STYLE" . "Fusion")
("QT_ENABLE_HIGHDPI_SCALING" . "0")
("R600_TEX_ANISO" . "16")
))
(service zram-device-service-type
(zram-device-configuration
(size "6G")
(compression-algorithm 'xz)
(priority 100)))
;; (service oci-forgejo-service-type)
(set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout)))
(udev-rules-service '8bitdo %8bitdo-udev-rules)
(service nix-service-type)
2024-10-30 01:17:17 +00:00
;; bluetooth
(service bluetooth-service-type
(bluetooth-configuration
(auto-enable? #t)))
2024-09-13 02:39:47 +00:00
2024-10-30 01:17:17 +00:00
(simple-service 'blueman dbus-root-service-type (list blueman))
(service opendoas-service-type
(opendoas-configuration
(rules (append general))))
#| Compress my mpv screenshots periodically |#
(service mcron-service-type
(mcron-configuration
(jobs (list #~(job "10 15 * * *"
"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)
2024-09-08 20:03:55 +00:00
2024-05-02 16:37:36 +00:00
)
2024-01-11 18:51:39 +00:00
2024-05-02 16:37:36 +00:00
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(swap-devices (list (swap-space
(target (uuid
2024-10-30 01:17:17 +00:00
"4f829a61-6f51-435b-bade-2991c094080f")))))
;; Do not generate a sudoers file
(sudoers-file #f)
2024-01-11 18:51:39 +00:00
2024-10-30 01:17:17 +00:00
2024-05-02 16:37:36 +00:00
;; 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
2024-10-30 01:17:17 +00:00
(mount-point "/boot/efi")
(device (uuid "7C90-0F50"
2024-05-02 16:37:36 +00:00
'fat32))
2024-10-30 01:17:17 +00:00
(type "vfat"))
2024-05-02 16:37:36 +00:00
(file-system
2024-10-30 01:17:17 +00:00
(mount-point "/")
(device (uuid
2024-05-02 16:37:36 +00:00
"ef8ef1c0-99bd-431a-abde-e2fc6421da60"
'ext4))
2024-10-30 01:17:17 +00:00
(type "ext4"))
;; (file-system
;; (mount-point "/mnt/Reading")
;; (device (uuid
;; "223baecf-e5f4-453f-90c7-d33edbbae145"
;; 'ext4))
;; (type "ext4"))
2024-09-08 20:03:55 +00:00
2024-10-30 01:17:17 +00:00
%base-file-systems)))