diff --git a/omp-docs/inventory/home-config-census.md b/omp-docs/inventory/home-config-census.md index 61e5cd6..1963604 100644 --- a/omp-docs/inventory/home-config-census.md +++ b/omp-docs/inventory/home-config-census.md @@ -1,241 +1,189 @@ --- type: reference -title: Home Directory Configuration Census -description: Complete inventory of userspace program configurations on the workstation — top-level dotfiles, ~/.config, ~/.local/share state, and special directories (~/.pi, ~/.omp). -tags: [inventory, unverified, census, dotfiles, config] +title: Home Configuration Census (blankpad) +description: Per-file tracked-vs-box-only census of ~/.config on blankpad — the input for the dotfiles pruning/adoption session. +tags: [inventory, census, dotfiles, config] created: 2026-08-28 -census-date: 2026-08-28 -source: Workstation CachyOS laptop +census-date: 2026-10-20 +verified: 2026-10-20 +source: blankpad (CachyOS, /home/blank) --- -## Scope & Methodology +This page is the input for the dotfiles pruning/adoption session: for every +`~/.config` entry it separates what the repo already tracks from what lives only +on this box, and sorts the box-only half into adopt / never-track / prune. -Census covers four areas: (1) top-level dotfiles/dotdirs in `/home/dank` (excluding `.omp` which is documented separately here), (2) every entry under `~/.config`, (3) non-cache state dirs under `~/.local/share`, (4) special directories `~/.pi` and `~/.omp`. Each entry assessed for installed status (`command -v`), size (`du -sh`), and age (mtime). Uninstalled programs flagged as `prune-candidate`. +## Method -All measurements are live — no invented numbers. +Classification is per **FILE**, not per directory: the tracked unit is a symlink +into `~/.omp/dotfiles/`. A directory can look "real" (a plain folder, not itself +a symlink) while every file inside it is a tracked symlink — `niri` and `gtk-3.0` +do exactly that. Conversely a directory can be a whole symlink into `dotfiles` +(`lazyvim`) and be entirely tracked. So a directory-level verdict lies; only the +leaf symlink target is ground truth. ---- +- **tracked** = a file whose fully-resolved target (`readlink -f`) is under + `/home/blank/.omp/dotfiles/`. +- **box-only** = a regular file, or a symlink that resolves elsewhere. -## 1. Top-Level Dotfiles / Dotdirs +Rerun this classifier rather than trusting the table below: -> 38 entries in `/home/dank` beginning with `.` (excluding `.omp`). +```bash +DOT=/home/blank/.omp/dotfiles; CFG=/home/blank/.config +for d in "$CFG"/*; do + [ -L "$d" ] && case "$(readlink -f "$d")" in "$DOT"/*) echo "$(basename "$d"): tracked=ALL box-only=0"; continue;; esac + [ -d "$d" ] || { echo "$(basename "$d"): FILE (top-level)"; continue; } + tr=0; bo=0; names="" + while IFS= read -r -d '' f; do + if [ -L "$f" ]; then case "$(readlink -f "$f")" in "$DOT"/*) tr=$((tr+1)); continue;; esac; fi + bo=$((bo+1)); names+=" ${f#"$CFG"/}" + done < <(find "$d" -mindepth 1 \( -type f -o -type l \) -print0 2>/dev/null) + printf '%s: tracked=%d box-only=%d%s\n' "$(basename "$d")" "$tr" "$bo" "$names" +done +``` -| Path | What it is | Installed? | Size | Age (mtime) | Prune? | -|---|---|---|---|---|---| -| `.bash_history` | Bash command history | yes (bash) | 12K | 2026-08-27 | — | -| `.bash_logout` | Bash logout script | yes (bash) | 4.0K | 2026-07-03 | — | -| `.bash_profile` | Bash login script | yes (bash) | 4.0K | 2026-07-03 | — | -| `.bashrc` | Bash config | yes (bash) | 4.0K | 2026-07-12 | — | -| `.bun` | Bun runtime install | yes | 2.3G | 2026-07-05 | — | -| `.cache` | XDG cache directory | system | 6.4G | 2026-08-28 | — | -| `.claude` | Claude Code config | **no** | 6.4M | 2026-07-12 | **prune-candidate** | -| `.config` | XDG config directory | system | 574M | 2026-08-25 | — | -| `.env` | Environment variables | system | 4.0K | 2026-08-21 | — | -| `.git-credentials` | Git auth cache | yes (git) | 4.0K | 2026-08-28 | — | -| `.gitconfig` | Git global config | yes (git) | 4.0K | 2026-08-05 | — | -| `.local` | XDG local directory | system | 552G | 2026-07-24 | — | -| `.npm` | Node package manager cache | yes (node) | 1.7G | 2026-07-23 | — | -| `.nv` | nvim (Neovim) config | **no** | 8.0K | 2026-07-03 | **prune-candidate** | -| `.nvidia-settings-rc` | NVIDIA Settings config | yes | 4.0K | 2026-07-04 | — | -| `.nvm` | Node Version Manager | **no** | 256M | 2026-07-06 | **prune-candidate** | -| `.openpeon` | OMP Peon session state | yes (omp) | 4.4M | 2026-07-16 | — | -| `.p10k.zsh` | Powerlevel10k zsh theme | yes (zsh) | 96K | 2026-07-03 | — | -| `.paradoxlauncher` | Paradox Launcher state | **no** | 1.1G | 2026-07-31 | **prune-candidate** | -| `.pi` | Legacy PI agent (git repo) | — | 2.5G | 2026-08-17 | see §4 | -| `.pki` | System PKI certs | system | 120K | 2026-07-03 | — | -| `.pulse-cookie` | PulseAudio session | system | 4.0K | 2026-07-03 | — | -| `.python_history` | Python REPL history | yes (python3) | 4.0K | 2026-08-06 | — | -| `.ssh` | SSH keys & config | yes | 28K | 2026-08-24 | — | -| `.steam` | Steam runtime + config | yes | 44K | 2026-08-26 | — | -| `.steampath` | Steam executable path | yes (steam) | 4.0K | 2026-07-31 | — | -| `.steampid` | Steam PID file | yes (steam) | 4.0K | 2026-07-31 | — | -| `.tmux-resurrect` | Tmux resurrect state | yes (tmux) | 0 | 2026-08-25 | — | -| `.tmux.conf` | Tmux configuration | yes (tmux) | 4.0K | 2026-07-18 | — | -| `.wget-hsts` | Wget HSTS database | yes (wget) | 4.0K | 2026-07-06 | — | -| `.zcompdump--5.9.1` | Zsh completions v5.9.1 | yes (zsh) | 56K | 2026-07-12 | — | -| `.zcompdump--5.9.1.zwc` | Zsh compiled completions v5.9.1 | yes (zsh) | 120K | 2026-07-12 | — | -| `.zcompdump--5.9.2` | Zsh completions v5.9.2 | yes (zsh) | 56K | 2026-08-19 | — | -| `.zcompdump--5.9.2.lock` | Zsh completions lock | yes (zsh) | 0 | 2026-08-25 | — | -| `.zcompdump--5.9.2.zwc` | Zsh compiled completions v5.9.2 | yes (zsh) | 120K | 2026-08-19 | — | -| `.zsh_history` | Zsh command history | yes (zsh) | 68K | 2026-08-28 | — | -| `.zshrc` | Zsh configuration | yes (zsh) | 4.0K | 2026-08-25 | — | +## ~/.config — tracked vs box-only ---- +Profile/browser dirs (`mozilla` 5471 files, `obsidian` 99, `FreeTube` 56, +`nirimod` 116, `google-chrome-for-testing` 5) are app state, never tracked, and +are omitted as rows. Box-only bulk that is regenerated-by-the-program is named +by category, not file-by-file. -## 2. ~/.config — Program Configuration Directory +| `~/.config/` dir | tracked | box-only | box-only files | +|---|--:|--:|---| +| alacritty | 1 | 1 | `themes/noctalia.toml` (generated) | +| autostart | 0 | 3 | `Flameshot.desktop`, `cachyos-hello.desktop`, `.AGENTTRASH/Handy.desktop` | +| bat | 0 | 2 | `config`, `themes/noctalia.tmTheme` (generated) | +| btop | 0 | 2 | `btop.conf`, `themes/noctalia.theme` (generated) | +| cachyos | 0 | 1 | `cachyos-hello/cachyos-hello.log` (state) | +| cava | 0 | 1 | `themes/noctalia` (generated) — program absent, prune | +| crush | 0 | 37 | `skills/<37>` — skills-CLI install | +| containers | 0 | 2 | `systemd/franksign-db.container`, `systemd/postgres.env` (see §Owned-elsewhere / secret tier) | +| dconf | 0 | 1 | `user` (compiled dconf db, state) | +| devin | 0 | 37 | `skills/<37>` — skills-CLI install | +| fastfetch | 0 | 1 | `themes/noctalia.jsonc` (generated) | +| fish | 2 | 1 | `fish_variables` (fish var store, state) | +| flameshot | 0 | 1 | `flameshot.ini` | +| foot | 0 | 2 | `foot.ini`, `themes/noctalia` (generated) — program absent, prune | +| fzf | 0 | 2 | `themes/noctalia.sh`, `themes/noctalia.fish` (generated) | +| ghostty | 2 | 1 | `themes/noctalia` (generated) | +| glow | 0 | 2 | `glow.yml`, `noctalia.json` (generated) | +| goose | 0 | 37 | `skills/<37>` — skills-CLI install | +| gtk-3.0 | 3 | 0 | — | +| gtk-4.0 | 2 | 1 | `servers` (KDE-generated) | +| helix | 0 | 1 | `themes/noctalia.toml` (generated) — `hx` absent, prune | +| herdr | 0 | 1 | `noctalia-colors.toml` (generated) | +| hypr | 0 | 2 | `hyprland.conf`, `noctalia.conf` (generated) — `hyprland` absent, prune | +| kimchi | 0 | 37 | `harness/skills/<37>` — skills-CLI install | +| kitty | 0 | 2 | `kitty.conf`, `themes/noctalia.conf` (generated) — program absent, prune | +| labwc | 0 | 2 | `rc.xml`, `noctalia.conf` (generated) — program absent, prune | +| lazygit | 0 | 2 | `config.yml`, `themes/noctalia.yml` (generated) | +| lazyvim | ALL | 0 | — (whole dir symlink → `dotfiles/lazyvim`) | +| mango | 0 | 2 | `config.conf`, `noctalia.conf` (generated) — program absent, prune | +| micro | 0 | 154 | adopt: `settings.json`, `bindings.json`; generated: `colorschemes/noctalia.micro`; bundled/state: `syntax/*` (146), `buffers/history` | +| mpv | 0 | 0 | — (empty) | +| nautilus | 0 | 0 | — (empty) | +| niri | 12 | 1 | `noctalia.kdl` (generated) | +| noctalia | 2 | 0 | — | +| nvim | 0 | 0 | — (empty) | +| pywalfox | 0 | 1 | `config.json` — program absent, prune | +| qt5ct | 0 | 1 | `colors/noctalia.conf` (generated) — program absent, prune | +| qt6ct | 0 | 1 | `colors/noctalia.conf` (generated) — program absent, prune | +| rofi | 0 | 1 | `noctalia.rasi` (generated) — program absent, prune | +| scroll | 0 | 2 | `config`, `noctalia` (generated) — program absent, prune | +| secrets | 0 | 4 | `gitea`, `hf_token`, `hf_token_write`, `kagi_api_key` (names only — secret tier) | +| shelly | 0 | 2 | `config.json`, `settings.json` | +| sway | 0 | 2 | `config`, `noctalia` (generated) — program absent, prune | +| systemd | 9 | 3 | `user/fib-watchdog.service`, `user/fib-watchdog.timer`, `user/timers.target.wants/fib-watchdog.timer` | +| tmux | 0 | 1 | `themes/noctalia.conf` (generated) | +| turborepo | 0 | 1 | `telemetry.json` — `turbo` absent, prune | +| umbriel | 0 | 2 | `config.toml`, `noctalia.toml` (generated) — program absent, prune | +| unity3d | 0 | 235 | RimWorld state: `Saves` (201), `Config` (21), other (13) — never track | +| wezterm | 0 | 1 | `colors/Noctalia.toml` (generated) — program absent, prune | +| yay | 0 | 0 | — (empty) | +| ytm-player | 0 | 1 | `theme.toml` — program absent, prune | -> 38 entries (30 directories + 8 standalone files) under `~/.config`. Files like `mimeapps.list`, `user-dirs.dirs`, `background`, etc. are XDG desktop integration files, not program configs. +### Top-level `~/.config` files (not directories) -### Programs (directories with config files) +All regular files, none symlinked into `dotfiles`: +`starship.toml` (prune — `starship` absent), `frank-job-hunt.env` (secret tier), +`kdeglobals`, `partitionmanagerrc`, `pavucontrol.ini`, `cachyos-hello.json`, +`user-dirs.dirs`, `user-dirs.locale` (XDG/desktop state). -| Path | What it is | Installed? | Size | Files | Age | Prune? | -|---|---|---|---|---|---|---| -| `.config/alacritty` | Alacritty terminal emulator | yes | 4.0K | 1 | 2026-07-24 | — | -| `.config/btop` | btop system monitor | yes | 12K | 1 | 2026-08-11 | — | -| `.config/cachyos` | CachyOS distro config | system | 8.0K | 3 | 2026-07-03 | — | -| `.config/chromium` | Chromium browser | yes | 158M | 423 | 2026-07-15 | — | -| `.config/chromium-headless` | Chromium headless | **no** | 2.6M | 165 | 2026-07-20 | **prune-candidate** | -| `.config/dconf` | Dconf database | yes | 4.0K | 1 | 2026-07-03 | — | -| `.config/fish` | Fish shell config | yes | 24K | 3 | 2026-07-06 | — | -| `.config/gh` | GitHub CLI config | yes | 8.0K | 2 | 2026-07-12 | — | -| `.config/ghostty` | Ghostty terminal emulator | yes | 24K | 3 | 2026-08-24 | — | -| `.config/glow` | Glow markdown renderer | yes | 4.0K | 1 | 2026-07-03 | — | -| `.config/google-chrome-for-testing` | Google Chrome (testing) | **no** | 4.0K | 1 | 2026-07-03 | **prune-candidate** | -| `.config/gtk-3.0` | GTK 3.0 theme settings | system | 12K | 3 | 2026-07-03 | — | -| `.config/gtk-4.0` | GTK 4.0 theme settings | system | 12K | 3 | 2026-07-03 | — | -| `.config/micro` | Micro text editor | yes | 696K | 154 | 2026-08-17 | — | -| `.config/mozilla` | Firefox preferences | yes | 334M | 2,918 | 2026-08-24 | — | -| `.config/nautilus` | Nautilus file manager | yes | 4.0K | 0 | 2026-07-03 | — | -| `.config/niri` | Niri Wayland WM | yes | 44K | 9 | 2026-07-15 | — | -| `.config/noctalia` | Noctalia game config | yes | 212K | 28 | 2026-07-05 | — | -| `.config/nvim` | Neovim config | yes | 64K | 13 | 2026-07-23 | — | -| `.config/obsidian` | Obsidian note-taking app | yes | 79M | 139 | 2026-08-24 | — | -| `.config/pulse` | PulseAudio config | system | 4.0K | 1 | 2026-07-03 | — | -| `.config/qBittorrent` | qBittorrent torrent client | yes | 24K | 5 | 2026-08-05 | — | -| `.config/qmd` | QMD (bun-based CLI) | yes | 4.0K | 1 | 2026-07-03 | — | -| `.config/rpiv-web-tools` | RPi web tools config | yes | 4.0K | 1 | 2026-07-03 | — | -| `.config/shelly` | Shelly home automation | yes | 8.0K | 2 | 2026-07-03 | — | -| `.config/unity3d` | Unity game engine config | yes | 188K | 3 | 2026-07-05 | — | -| `.config/vlc` | VLC media player | yes | 96K | 2 | 2026-07-03 | — | +## Adoption candidates (program passes `command -v`) -### Desktop / XDG Integration (no owning program) +Pre-vetted box-only files worth moving into `dotfiles`. Authorship is from the +file contents, read directly. -| Path | What it is | Installed? | Size | Age | -|---|---|---|---|---| -| `.config/autostart` | XDG autostart entries | system | 0 | 2026-07-03 | -| `.config/background` | Desktop background setting | system | 0 | 2026-07-03 | -| `.config/cachyos-hello.json` | CachyOS welcome JSON | system | 0 | 2026-07-03 | -| `.config/menus` | XDG menu spec | system | 0 | 2026-07-03 | -| `.config/mimeapps.list` | MIME handler associations | system | 0 | 2026-07-03 | -| `.config/paradox-launcher-v2` | Paradox Launcher v2 config | **no** | 0 | 2026-08-05 | **prune-candidate** | -| `.config/pavucontrol.ini` | PulseAudio Volume Control config | system | 0 | 2026-07-03 | -| `.config/spectaclerc` | Spectacle screenshot tool config | system | 0 | 2026-07-03 | -| `.config/systemd` | User systemd config | system | 16K | 2026-07-06 | — | -| `.config/user-dirs.dirs` | XDG user directory dirs | system | 0 | 2026-07-03 | -| `.config/user-dirs.locale` | XDG locale | system | 0 | 2026-07-03 | - ---- - -## 3. ~/.local/share — Non-Cache State & Config - -> 26 entries. Excluded pure caches; included game data dirs, launcher configs, and application state. - -| Path | What it is | Installed? | Size | Age | Prune? | -|---|---|---|---|---|---| -| `.local/share/Colossal Order` | Cities: Skylines 2 game data | via steam | 27M | 2026-08-26 | — | -| `.local/share/Larian Studios` | Baldur's Gate 3 game data | via steam | 1.5G | 2026-08-25 | — | -| `.local/share/Paradox Interactive` | Paradox game saves/config | via steam/flatpak | 34M | 2026-08-26 | — | -| `.local/share/Shelly` | Shelly home automation data | yes | 4.0K | 2026-07-03 | — | -| `.local/share/Steam` | Steam library + runtime | yes | 550G | 2026-08-28 | — | -| `.local/share/Trash` | Desktop trash | system | 424M | 2026-08-27 | — | -| `.local/share/Tropico6` | Tropico 6 game data | via steam | 3.1M | 2026-08-26 | — | -| `.local/share/applications` | Desktop entry files | system | 56K | 2026-07-03 | — | -| `.local/share/com.pais.handy` | Handy app (likely flatpak) | unknown | 140K | 2026-08-25 | — | -| `.local/share/desktop-directories` | XDG desktop dirs | system | 0 | 2026-07-03 | — | -| `.local/share/fish` | Fish shell data | yes | 4.0K | 2026-07-03 | — | -| `.local/share/flatpak` | Flatpak runtime/pkgs | yes | 8.0K | 2026-07-03 | — | -| `.local/share/gvfs-metadata` | GVFS metadata | system | 156K | 2026-08-25 | — | -| `.local/share/icons` | XDG icon theme data | system | 1.1M | 2026-07-03 | — | -| `.local/share/inxi` | Inxi system info data | yes | 0 | 2026-07-03 | — | -| `.local/share/keyrings` | System keyring data | system | 8.0K | 2026-07-03 | — | -| `.local/share/nautilus` | Nautilus state | yes | 164K | 2026-07-03 | — | -| `.local/share/noctalia` | Noctalia game state | yes | 48K | 2026-08-25 | — | -| `.local/share/nvim` | Neovim local data | yes | 186M | 2026-08-25 | — | -| `.local/share/qBittorrent` | qBittorrent download state | yes | 8.5M | 2026-08-05 | — | -| `.local/share/sddm` | SDDM display manager state | system | 4.0K | 2026-07-03 | — | -| `.local/share/shelly-icons` | Shelly icon assets | yes | 67M | 2026-07-03 | — | -| `.local/share/uv` | UV (Python) package data | yes | 59M | 2026-07-03 | — | -| `.local/share/vlc` | VLC cache/state | yes | 4.0K | 2026-07-03 | — | -| `.local/share/vulkan` | Vulkan shader cache | system | 16K | 2026-07-03 | — | - ---- - -## 4. Special Directories - -### ~/.pi — Legacy PI Agent (git repo) - -> 31 entries. **2.5G total.** Remote: `dankclaw:3000/dank/agent.git`. Last commit: `eda2edb docs: update frank-default-large model to Qwen3.8-Flash-Next Uncensored ROCmFP4 STRIX_LEAN`. - -**Top-level contents:** - -| Path | What it is | Size | Prune? | -|---|---|---|---| -| `agent/` | PI agent core — git-tracked code, sessions, node_modules | 2.2G | — | -| `browser-profile/` | Chromium browser profile (artifacts) | 200M | **prune-candidate** | -| `trash/` | Agent session trash | 1.8M | **prune-candidate** | -| `docs/` | Documentation | 684K | — | -| `npm/` | NPM global packages | 368K | — | -| `knowledge/` | Knowledge base | 120K | — | -| `skills/` | Agent skills | 112K | — | -| `scripts/` | Agent scripts | 92K | — | -| `extensions/` | Agent extensions | 60K | — | -| `system-agent-prompts-guide.md` | Agent prompt guide | 56K | — | -| `research/` | Research artifacts | 44K | **prune-candidate** | -| `okf-*.md` | OKF project documents (6 files) | ~96K total | — | -| `web-search.json` | Web search config | 4.0K | — | -| `trust.json` | Trust registry | 4.0K | — | -| `skills-lock.json` | Skills lock file | 4.0K | — | -| `settings.json` / `settings.json.save` | Agent settings | 8.0K total | — | -| `peon` | Peon integration | 4.0K | — | -| `oldAGENTS.md` | Legacy AGENTS.md | 4.0K | — | -| `keybindings.json` | Key bindings | 4.0K | — | -| `PROMPTS` | Prompt templates | 4.0K | — | -| `AGENTS.md` | Agent config | 4.0K | — | -| `web-search-cache` | Search cache (empty) | 0 | **prune-candidate** | - -**Size offenders inside `agent/` (≥10M):** - -| File | Size | -|---|---| -| `agent/npm/node_modules/onnxruntime-node/bin/.../libonnxruntime_providers_cuda.so` | 302M | -| `agent/npm/node_modules/@lancedb/lancedb-linux-x64-gnu/lancedb.linux-x64-gnu.node` | 137M | -| `.git/objects/pack/pack-ff7cc5418a978a5839d587472bec385f4c9ce72d.pack` | 81M | -| `agent/npm/node_modules/onnxruntime-node/bin/napi-v6/...` (multi-platform binaries) | 56M | -| `agent/npm/node_modules/webgpu/dist/...` (multi-platform .node) | 55M | -| `agent/npm/node_modules/pdf-oxide-wasm/...` (Wasm bundles) | 51M | -| `agent/npm/node_modules/onnxruntime-web/dist/` (Wasm runtime) | 43M | -| `agent/sessions/--home-dank-Projects-*/...` (session JSONL files) | 80M+ | -| `agent/npm/node_modules/playwright-core/lib/` (browser bundle) | 6.1M | - -**Prune candidates flagged by task scope:** -- `research/` (44K) — research artifacts, likely stale -- `browser-profile/` (200M) — browser profile, not needed for agent -- `trash/` (1.8M) — agent session trash, purgeable - -### ~/.omp — Command Center - -> **411M.** Git repo, 7,726,074 commits. Remote: `192.168.0.143:3000/dank/command-center.git`. Last commit: `7726074 chore: birth — state-out ignore policy + secret-gate pre-commit hook`. Active configuration center for the OMP harness — **do not prune.** - ---- - -## Summary - -| Metric | Value | -|---|---| -| **Total config items** | 133 (38 top-level + 38 ~/.config + 26 ~/.local/share + 27 ~/.pi top-level entries + 1 ~/.omp) | -| **Orphaned configs** (owning program uninstalled) | **7** (.claude, .nv, .nvm, .paradoxlauncher at top-level; chromium-headless, google-chrome-for-testing, paradox-launcher-v2 in ~/.config) | -| **Total storage for configs** | ~567M (dotfiles) + 574M (~/.config) + 765M (~/.local/share excl. Steam) + 2.5G (~/.pi) = **~4.4G** | -| **Steam library** | 550G (not counted in config total — it's game data) | - -### Top 10 Largest Offenders by du -sh - -| Rank | Path | Size | Notes | -|---|---|---|---| -| 1 | `~/.local/share/Steam/` | 550G | Game library (not config) | -| 2 | `~/.cache/` | 6.4G | System cache | -| 3 | `~/.pi/` | 2.5G | Legacy agent (git repo) | -| 4 | `~/.bun/` | 2.3G | Bun runtime | -| 5 | `~/.npm/` | 1.7G | Node modules cache | -| 6 | `~/.local/share/Larian Studios/` | 1.5G | Baldur's Gate 3 (via Steam) | -| 7 | `~/.omp/` | 411M | Command center (keep) | -| 8 | `~/.local/share/Trash/` | 424M | Desktop trash | -| 9 | `~/.config/mozilla/` | 334M | Firefox profile | -| 10 | `~/.local/share/nvim/` | 186M | Neovim data/cache | - -### Prune Summary - -| Category | Count | Entries | +| File | Program (path) | Authored or default | |---|---|---| -| Full program uninstalled | 7 | .claude, .nv, .nvm, .paradoxlauncher, chromium-headless, google-chrome-for-testing, paradox-launcher-v2 | -| Stale session/trash data | 3 | .pi/trash, .pi/browser-profile, .pi/research | -| **Total recommended for review** | **10** | — | +| `~/.gitconfig` | git (`/usr/bin/git`) | Authored — single setting line: `credential.helper = store --file ~/.config/secrets/gitea` (points at the secret tier; adopt the line, never the file it names) | +| `~/.config/bat/config` | bat (`/usr/bin/bat`) | Authored — one line `--theme=noctalia` | +| `~/.config/lazygit/config.yml` | lazygit (`/usr/bin/lazygit`) | Authored — 28-line custom noctalia color theme | +| `~/.config/micro/settings.json` | micro (`/usr/bin/micro`) | Authored — `{"colorscheme":"noctalia"}` | +| `~/.config/micro/bindings.json` | micro (`/usr/bin/micro`) | Default — empty `{}`, no custom bindings | +| `~/.config/flameshot/flameshot.ini` | flameshot (`/usr/bin/flameshot`) | Authored — `contrastOpacity=188`, `startupLaunch=true` | +| `~/.config/glow/glow.yml` | glow (`/usr/bin/glow`) | Default — shipped template, all default values (noctalia look comes from the generated `noctalia.json`, not this file) | +| `~/.config/autostart/Flameshot.desktop` | flameshot (`/usr/bin/flameshot`) | Authored — `Exec=flameshot`, `X-GNOME-Autostart-enabled=true` | + +Every `~/.config` box-only row above lists each file, so the session can extend +beyond these seven (e.g. `btop/btop.conf`, `shelly/*` are also installed-program +configs). + +## Never track (box-only) + +| Reason | Contents | +|---|---| +| **Generated palette expansion** | Every `themes/noctalia*`, `*/noctalia.*`, `*/colors/noctalia*` / `Noctalia*` (24 files outside app-profile dirs). Machine-written by matugen/noctalia, not hand-authored: the `stat -c '%y %n'` cluster `2026-10-14 19:05:40.330…40.813 -0700` writes 24 files in one second (`alacritty/themes/noctalia.toml` at `.330212397`, `btop/themes/noctalia.theme` at `.334212456`, `tmux/themes/noctalia.conf` at `.813219586`, …); later re-runs re-stamp singles — `bat/themes/noctalia.tmTheme` `2026-10-18 17:11:22`, `niri/noctalia.kdl` `2026-10-18 17:36:27`, `mango/noctalia.conf` `2026-10-17 18:23:37`. A same-second mass-write is generation, never an edit. | +| **App state / profiles** | `mozilla` (5471), `unity3d` RimWorld state (235), `nirimod` (116), `obsidian` (99), `FreeTube` (56), `google-chrome-for-testing` (5); plus per-program state inside tracked dirs: `dconf/user`, `fish/fish_variables`, `micro/syntax/*`+`micro/buffers/history`, `gtk-4.0/servers`, `cachyos/cachyos-hello.log`. | +| **Skills-CLI installs** | `crush` (37), `devin` (37), `goose` (37), `kimchi/harness` (37) skill trees — provisioned by the skills CLI, owned by the store, not this repo. See [skills/store-wiring](/skills/store-wiring.md). | +| **Secret tier** | `~/.config/secrets/` (`gitea`, `hf_token`, `hf_token_write`, `kagi_api_key` — names only), top-level `frank-job-hunt.env`, `containers/systemd/postgres.env`. Never tracked, values never printed. | + +## Owned-elsewhere (do not adopt here) + +- `~/.config/containers/systemd/franksign-db.container` — header: + *"Installed by `infra/setup-dev.sh` into `~/.config/containers/systemd/`."* + Owned by the franksign repo; its quadlet, not this box's config. +- `~/.config/systemd/user/fib-watchdog.service` + `.timer` — box-only. + `ExecStart=/usr/bin/bun src/cli.ts worker` with + `WorkingDirectory=/home/blank/Projects/frank-intelligence-bench`. + `systemctl --user is-active fib-watchdog.timer` → **inactive**. This box holds + the only copy. Do **not** adopt it into `dotfiles`: `ExecStart` and + `WorkingDirectory` are the bench project's internals, so that repo owns the + unit — land it there and this row becomes "deployed by the bench repo". Until + then it is a reinstall risk recorded here, not a dotfiles gap. +- **Hygiene finding, fixed 2026-10-20:** the enable-symlink + `~/.config/systemd/user/default.target.wants/blankpad-desk-autoswitch.service` + pointed into `~/.omp/wt/de-redesign-20261009/…`, a worktree the heartbeat had + already reaped — so desk auto-switching was silently off while + `systemctl --user is-enabled` still answered `enabled`. Relinked to + `dotfiles/zz-blankpad/.config/systemd/user/blankpad-desk-autoswitch.service` + and `daemon-reload`ed; left `inactive` on purpose, because starting it mid- + session applies a desk profile and the box is in use. Law and diagnosis: + [dotfiles-deploy](/tools/dotfiles-deploy.md). + +## Prune list (owning program absent from `command -v`) + +All verified with `command -v ` (git resolves to `/usr/bin/git`; a session +alias can mask it, so probe in a clean shell). + +| Config | Program checked | +|---|---| +| `sway`, `hypr`, `labwc`, `mango`, `scroll`, `umbriel` | `sway` `hyprland` `labwc` `mango` `scroll` `umbriel` — all ABSENT | +| `wezterm`, `kitty`, `foot` | `wezterm` `kitty` `foot` — all ABSENT | +| `rofi`, `helix`, `cava`, `ytm-player`, `starship.toml` | `rofi` `hx` `cava` `ytm-player` `starship` — all ABSENT | +| `pywalfox`, `qt5ct`, `qt6ct`, `turborepo` | `pywalfox` `qt5ct` `qt6ct` `turbo` — all ABSENT | + +The first three rows are the expected set (all 14 confirmed absent). **My check +disagrees with the expected set by extending it**: `pywalfox`, `qt5ct`, `qt6ct`, +`turborepo` are also installed-nowhere config dirs and belong in the prune list. +Note the orphan dirs `cava`, `rofi`, `helix`, `wezterm`, `qt5ct`, `qt6ct` contain +*only* a generated noctalia palette file — pruning them removes no authored +config. `crush`/`devin`/`goose`/`kimchi` also fail `command -v` but are the +skills-CLI tier above, not this session's prune targets. + +## Links + +- [skills/store-wiring](/skills/store-wiring.md) — owns the skills-CLI tier + claim (`crush`/`devin`/`goose`/`kimchi`). +- [KB index](/index.md) — knowledge-base entry point.