diff options
| author | 2026-05-13 13:43:32 +0100 | |
|---|---|---|
| committer | 2026-05-13 13:43:32 +0100 | |
| commit | 2970b9dddc6b89705a6836fa0864fb841925ff6f (patch) | |
| tree | 34b73db29f72950c8f62a1eccec57943d0be8f7a /meta | |
| parent | e00ad35dd4adcc21dd83ca063a2e306f8ae8b512 (diff) | |
| download | dotfiles-2970b9dddc6b89705a6836fa0864fb841925ff6f.tar.gz dotfiles-2970b9dddc6b89705a6836fa0864fb841925ff6f.tar.bz2 dotfiles-2970b9dddc6b89705a6836fa0864fb841925ff6f.zip | |
refactor(meta): flatten groups; only break out optional/hw-specific
Drop the per-domain group fragmentation in meta/ and the parallel
group-per-file structure in systemd-units/.
meta/ (18 -> 6 groups):
keep base, flatpak (magic), intel, nvidia, work, btc
fold browser, bt, cpp, dev, extra, fonts, mail, media, nix,
sound, wayland -> base (with `# --- section ---` comments
preserving at-a-glance structure)
drop fortran (niche; install ad-hoc when needed)
systemd-units/:
flatten to a single system.txt + user.txt; .ignore files move up
one level; group concept and pairing rule removed.
justfile:
unit-list/unit-apply/unit-status no longer take a group argument.
unit-add/unit-forget infer scope by probing
`systemctl [--user] cat <unit>` (system wins on tie). Top-level
add/forget dispatcher updated: any unit-suffixed arg routes to
unit-* without requiring a leading GROUP.
docs:
.github/copilot-instructions.md and README.md updated to describe
the new flat layout. Pairing rule and group-token grammar gone.
Pure layout refactor - no package contents change.
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/base.txt | 180 | ||||
| -rw-r--r-- | meta/browser.txt | 1 | ||||
| -rw-r--r-- | meta/bt.txt | 3 | ||||
| -rw-r--r-- | meta/cpp.txt | 10 | ||||
| -rw-r--r-- | meta/dev.txt | 24 | ||||
| -rw-r--r-- | meta/extra.txt | 23 | ||||
| -rw-r--r-- | meta/fonts.txt | 8 | ||||
| -rw-r--r-- | meta/fortran.txt | 3 | ||||
| -rw-r--r-- | meta/mail.txt | 9 | ||||
| -rw-r--r-- | meta/media.txt | 7 | ||||
| -rw-r--r-- | meta/nix.txt | 16 | ||||
| -rw-r--r-- | meta/sound.txt | 10 | ||||
| -rw-r--r-- | meta/wayland.txt | 59 |
13 files changed, 180 insertions, 173 deletions
diff --git a/meta/base.txt b/meta/base.txt index 9c56e52..81b93c7 100644 --- a/meta/base.txt +++ b/meta/base.txt @@ -1,3 +1,4 @@ +# --- core --- acpid base base-devel @@ -66,3 +67,182 @@ zsh-completions zsh-history-substring-search zsh-syntax-highlighting zram-generator + +# --- bluetooth --- +bluez +bluez-utils +ell + +# --- nix (multi-user daemon mode for hermetic per-project dev shells via +# `nix develop` + direnv `use flake`. Not a replacement for paru/pacman, +# not home-manager, not NixOS — just a sandboxed second package manager +# that gives every project a reproducible toolchain pinned in its own +# flake.lock. Pairs with: systemd-units/system.txt (enables +# nix-daemon.socket), etc/nix/nix.conf, dot_config/direnv/direnvrc, +# dot_config/nix/templates/. nix-direnv itself is loaded at runtime via +# direnv's source_url with a content hash, so no extra package needed.) --- +nix + +# --- dev --- +android-tools +ccache +clang +cmake +curl +difftastic +direnv +doxygen +gdb +git-absorb +git-delta +github-cli +go +hyperfine +jdk-openjdk +just +lld +lldb +luarocks +mergiraf +mold +ninja +npm +perf +podman-compose +podman-docker +rust-analyzer +rustup +samply +sccache +strace +t-rec +uv +valgrind + +# --- sound --- +alsa-utils +pipewire +pipewire-alsa +pipewire-jack +pipewire-pulse +playerctl +pulsemixer +# noisetorch # optional + +# --- fonts --- +noto-fonts-emoji +otf-font-awesome +otf-latinmodern-math +ttf-dejavu +ttf-fira-code +ttf-font-awesome +ttf-noto-nerd +woff2-font-awesome + +# --- wayland session --- +# Compositor +sway +xdg-desktop-portal-wlr +xdg-desktop-portal-gtk +qt5-wayland +qt6-wayland + +# Bar & launcher +waybar +fuzzel +# wofi: secondary picker used only by mako-history.sh — needs --hide-search +# and per-key custom bindings, neither of which fuzzel supports. +wofi + +# Terminal +ghostty + +# Notifications +mako +libnotify +poweralertd + +# Lock screen +swaylock +swayidle + +# Clipboard +wl-clipboard +cliphist + +# Screenshots & recording +grim +slurp +wf-recorder + +# Wayland typing (used by dictate, etc) +wtype + +# Emoji picker (AUR; tiny shell script, multi-backend — we drive it through wofi) +bemoji + +# Image viewer +imv + +# QR +zbar +xorg-xwayland # needed for zbarcam's X11 preview + +# Document viewer is the org.pwmt.zathura flatpak (see meta/flatpak.txt) so +# PDFs handed off from the browser/mail sandbox stay sandboxed. + +# Misc +brightnessctl +libfido2 +perl-file-mimeinfo +qt5ct +qt6ct +xdg-user-dirs +wl-mirror + +# --- browser (LibreWolf flatpak; arkenfox-user.js is the host-side +# hardening overlay deployed by run_onchange_after_deploy-firefox.sh.tmpl) --- +arkenfox-user.js + +# --- mail (host-side bits the org.mozilla.Thunderbird flatpak depends on) --- +protonmail-bridge-core +# git send-email Perl prereqs (SMTP via local Bridge on 127.0.0.1:1025) +perl-authen-sasl +perl-mime-tools +perl-net-smtp-ssl +# Native messaging host binary for External Editor Revived; bridged into +# the TB flatpak by run_onchange_after_deploy-tb-eer.sh.tmpl. +external-editor-revived + +# --- media (native mpv kept for streamlink piping and the /tmp/mpvsocket +# IPC integration; the io.mpv.Mpv flatpak (meta/flatpak.txt) is set as +# the mimeapps default for video/* so files handed off by the +# browser/mail sandbox stay sandboxed) --- +mpv +streamlink +yt-dlp + +# --- desktop extras --- +gpg-tui +pandoc-bin +syncthing +udisks2 + +# Flatpak runtime (apps tracked in meta/flatpak.txt) +flatpak + +# Smartcard stack (cartão de cidadão reader + PKCS#11 bridge into flatpak +# browsers). pcscd.socket is enabled by systemd-units/system.txt. +pcsclite +ccid + +# OCR (used by ~/.local/bin/ocr) +tesseract +tesseract-data-eng +tesseract-data-por + +# Speech-to-text (used by ~/.local/bin/dictate) +# `base` multilingual: ~142 MB, ~7-10x realtime on a 4c CPU. Override +# WHISPER_MODEL in the script's environment to use a different ggml model. +whisper.cpp-vulkan +whisper.cpp-model-base diff --git a/meta/browser.txt b/meta/browser.txt deleted file mode 100644 index de2d297..0000000 --- a/meta/browser.txt +++ /dev/null @@ -1 +0,0 @@ -arkenfox-user.js diff --git a/meta/bt.txt b/meta/bt.txt deleted file mode 100644 index d835748..0000000 --- a/meta/bt.txt +++ /dev/null @@ -1,3 +0,0 @@ -bluez -bluez-utils -ell diff --git a/meta/cpp.txt b/meta/cpp.txt deleted file mode 100644 index e4e11f6..0000000 --- a/meta/cpp.txt +++ /dev/null @@ -1,10 +0,0 @@ -ccache -clang -cmake -doxygen -gdb -lld -lldb -ninja -perf -valgrind diff --git a/meta/dev.txt b/meta/dev.txt deleted file mode 100644 index 5f26ad7..0000000 --- a/meta/dev.txt +++ /dev/null @@ -1,24 +0,0 @@ -android-tools -curl -difftastic -direnv -git-absorb -git-delta -github-cli -go -hyperfine -jdk-openjdk -just -luarocks -mergiraf -mold -npm -podman-compose -podman-docker -rust-analyzer -rustup -samply -sccache -strace -t-rec -uv diff --git a/meta/extra.txt b/meta/extra.txt deleted file mode 100644 index 956d0c1..0000000 --- a/meta/extra.txt +++ /dev/null @@ -1,23 +0,0 @@ -gpg-tui -pandoc-bin -syncthing -udisks2 - -# Flatpak runtime (apps tracked in meta/flatpak.txt) -flatpak - -# Smartcard stack (cartão de cidadão reader + PKCS#11 bridge into flatpak browsers). -# pcscd.socket is enabled by systemd-units/system/base.txt. -pcsclite -ccid - -# OCR (used by ~/.local/bin/ocr) -tesseract -tesseract-data-eng -tesseract-data-por - -# Speech-to-text (used by ~/.local/bin/dictate) -# `base` multilingual: ~142 MB, ~7-10x realtime on a 4c CPU. Override -# WHISPER_MODEL in the script's environment to use a different ggml model. -whisper.cpp-vulkan -whisper.cpp-model-base diff --git a/meta/fonts.txt b/meta/fonts.txt deleted file mode 100644 index 603fb44..0000000 --- a/meta/fonts.txt +++ /dev/null @@ -1,8 +0,0 @@ -noto-fonts-emoji -otf-font-awesome -otf-latinmodern-math -ttf-dejavu -ttf-fira-code -ttf-font-awesome -ttf-noto-nerd -woff2-font-awesome diff --git a/meta/fortran.txt b/meta/fortran.txt deleted file mode 100644 index 4bb1d35..0000000 --- a/meta/fortran.txt +++ /dev/null @@ -1,3 +0,0 @@ -fortitude-bin -fortran-fpm-bin -gcc-fortran diff --git a/meta/mail.txt b/meta/mail.txt deleted file mode 100644 index 74f6214..0000000 --- a/meta/mail.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Host-side bits the org.mozilla.Thunderbird flatpak depends on. -protonmail-bridge-core -# git send-email Perl prereqs (SMTP via local Bridge on 127.0.0.1:1025) -perl-authen-sasl -perl-mime-tools -perl-net-smtp-ssl -# Native messaging host binary for External Editor Revived; bridged into the -# TB flatpak by run_onchange_after_deploy-tb-eer.sh.tmpl. -external-editor-revived diff --git a/meta/media.txt b/meta/media.txt deleted file mode 100644 index 8e5b5c2..0000000 --- a/meta/media.txt +++ /dev/null @@ -1,7 +0,0 @@ -# Native mpv is kept for streamlink piping and the /tmp/mpvsocket IPC -# integration; the io.mpv.Mpv flatpak (meta/flatpak.txt) is set as the -# mimeapps default for video/* so files handed off by the browser/mail -# sandbox stay sandboxed. -mpv -streamlink -yt-dlp diff --git a/meta/nix.txt b/meta/nix.txt deleted file mode 100644 index e5c4bb4..0000000 --- a/meta/nix.txt +++ /dev/null @@ -1,16 +0,0 @@ -# Nix package manager (multi-user daemon mode). -# -# Used purely for hermetic per-project dev shells via `nix develop` + -# direnv `use flake`. Not a replacement for paru/pacman, not home-manager, -# not NixOS — just a sandboxed second package manager that gives every -# project a reproducible toolchain pinned in its own flake.lock. -# -# Pairs with: -# - systemd-units/system/nix.txt (enables nix-daemon.socket) -# - etc/nix/nix.conf (flakes, trusted-users=@wheel, GC roots) -# - dot_config/direnv/direnvrc (loads nix-direnv; pinned via source_url) -# - dot_config/nix/templates/ (flake templates: nix flake init -t ~/.config/nix/templates) -# -# nix-direnv itself is not packaged for Arch — it's loaded at runtime via -# direnv's source_url with a content hash, so no extra package needed. -nix diff --git a/meta/sound.txt b/meta/sound.txt deleted file mode 100644 index 5e9c45e..0000000 --- a/meta/sound.txt +++ /dev/null @@ -1,10 +0,0 @@ -alsa-utils -pipewire -pipewire-alsa -pipewire-jack -pipewire-pulse -playerctl -pulsemixer - -# Optional -# noisetorch diff --git a/meta/wayland.txt b/meta/wayland.txt deleted file mode 100644 index b41668b..0000000 --- a/meta/wayland.txt +++ /dev/null @@ -1,59 +0,0 @@ -# Compositor -sway -xdg-desktop-portal-wlr -xdg-desktop-portal-gtk -qt5-wayland -qt6-wayland - -# Bar & launcher -waybar -fuzzel -# wofi: secondary picker used only by mako-history.sh — needs --hide-search -# and per-key custom bindings, neither of which fuzzel supports. -wofi - -# Terminal -ghostty - -# Notifications -mako -libnotify -poweralertd - -# Lock screen -swaylock -swayidle - -# Clipboard -wl-clipboard -cliphist - -# Screenshots & recording -grim -slurp -wf-recorder - -# Wayland typing (used by dictate, etc) -wtype - -# Emoji picker (AUR; tiny shell script, multi-backend — we drive it through wofi) -bemoji - -# Image viewer -imv - -# QR -zbar -xorg-xwayland # needed for zbarcam's X11 preview - -# Document viewer is the org.pwmt.zathura flatpak (see meta/flatpak.txt) so -# PDFs handed off from the browser/mail sandbox stay sandboxed. - -# Misc -brightnessctl -libfido2 -perl-file-mimeinfo -qt5ct -qt6ct -xdg-user-dirs -wl-mirror |
