(define-library (config packages) (export home) (import (scheme base) (gnu packages)) (begin (define essential-cli '("adb" "bat" "bind:utils" "cava" "chibi-scheme" "cmus" "curl" "fastfetch" "fd" "ffmpeg" "file" "flatpak" "fzf" "gcc-toolchain" "ghc-tldr" "git" "git:send-email" "go" "guile" "guile-ini" "guile-lib" "htop" "jq" "keepassxc" "nmap" "pamixer" "pulsemixer" "racket" "rlwrap" "rsync" "sbcl" "screen" "strace" "syncthing" "tree" "unzip" "zig" "zip" "zoxide")) ;; "emacs-cape" ;; "emacs-corfu" ;; "emacs-org" (define emacs '("emacs" "emacs-2048-game" "emacs-bluetooth" "emacs-dumb-jump" "emacs-elfeed" "emacs-elfeed-org" "emacs-ellama" "emacs-elpher" "emacs-emms" "emacs-emojify" "emacs-f" "emacs-geiser" "emacs-geiser-guile" "emacs-go-mode" "emacs-guix" "emacs-jabber" "emacs-lsp-mode" "emacs-lsp-ui" "emacs-markdown-mode" "emacs-nord-theme" "emacs-nov-el" "emacs-org-bullets" "emacs-org-download" "emacs-org-emms" "emacs-org-mime" "emacs-org-pandoc-import" "emacs-org-roam" "emacs-org-transclusion" "emacs-origami" "emacs-ox-hugo" "emacs-pdf-tools" "emacs-persist" "emacs-pinentry" "emacs-racket-mode" "emacs-request" "emacs-restclient" "emacs-simple-httpd" "emacs-slime" "emacs-sqlite3-api" "emacs-toc-org" "emacs-tramp" "emacs-transmission" "emacs-typescript-mode" "emacs-websocket" "emacs-which-key" "emacs-wttrin" "emacs-yaml-mode" "emacs-zig-mode" "ispell")) (define sway '("font-fira-mono" "font-google-noto-emoji" "foot" "gammastep" "grim" "grimshot" "gst-libav" "gst-plugins-bad" "gst-plugins-base" "gst-plugins-good" "gst-plugins-ugly" "imv" "mpv" "noisetorch" "pinentry" "pipe-viewer" "slurp" "tesseract-ocr" "waypipe" "wl-clipboard" "wofi" "xdg-user-dirs" "zbar")) ;; "icecat" ;; "krita" ;; "nyxt" ;; "patchage" ;; "ungoogled-chromium" (define essential-gui '("darktable" "gimp" "libreoffice" "mumble" "obs" "obs-vkcapture" "obs-wlrobs" "transmission")) ;; "luanti" ;; "minetest-worldedit" ;; "luanti-mineclone" ;; "openmw" (define gaming '("protonup" "steam" "crispy-doom" "freedoom")) (define email '("isync" "mb2md" "mu")) (define misc '("sicp")) (define home (specifications->packages (append essential-gui essential-cli emacs email sway gaming)))))