Quarantine what the gate could not see; delete what the repo only pretended to own #41
No files matched your search
@@ -1,21 +0,0 @@
|
||||
// ────────────── Output Configuration ──────────────
|
||||
output "Samsung Electric Company Odyssey G75F HNTY601056" {
|
||||
mode "3840x2160@60"
|
||||
scale 1
|
||||
transform "normal"
|
||||
position x=0 y=0
|
||||
}
|
||||
|
||||
output "DP-1" {
|
||||
transform "90"
|
||||
position x=0 y=0
|
||||
}
|
||||
|
||||
output "DP-3" {
|
||||
transform "270"
|
||||
position x=1200 y=0
|
||||
}
|
||||
|
||||
output "eDP-1" {
|
||||
// no position — auto-placed to the right of DP-* outputs
|
||||
}
|
||||
@@ -83,8 +83,8 @@ by category, not file-by-file.
|
||||
| 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 | — |
|
||||
| niri | 9 | 1 | 8 live KDL includes (5 from `dotfiles/niri`, 3 overridden by the `zz-blankpad` tier, whose own 9 niri files are counted in that tier) + 1 tracked relic, see *Never track*. Box-only: `noctalia.kdl`, a generated include — [tools/dotfiles-deploy](/tools/dotfiles-deploy.md) |
|
||||
| noctalia | 3 | 2672 | Tracked and live-linked: `config.toml`, `palettes/Gruber Red.json`, `state/noctalia/settings.toml`. Everything else is app state plus noctalia's downloaded catalog: `community-palettes/` 66, `community-templates/` 80, `wallhaven/thumbs`, `clipboard/`, `plugins/`, `state.toml`, `usage_counts.json`. The 23 wallpapers #41 untracks stay on disk — the theme reads them |
|
||||
| nvim | 0 | 0 | — (empty) |
|
||||
| pywalfox | 0 | 1 | `config.json` — program absent, prune |
|
||||
| qt5ct | 0 | 1 | `colors/noctalia.conf` (generated) — program absent, prune |
|
||||
@@ -138,6 +138,7 @@ configs).
|
||||
| **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. |
|
||||
| **Trash committed inside the tree** | `dotfiles/niri/.config/niri/cfg/.AGENTTRASH/display.kdl.superseded` — a retired output config committed 2026-10-09, five days before `.gitignore:54` gained `.AGENTTRASH/` (2026-10-14). Tracked-then-ignored: an ignore rule never reaches an already-tracked path, so the only repair is `git rm --cached`, done by #41. The rule does match at depth — `git check-ignore --no-index -v dotfiles/niri/.config/niri/cfg/.AGENTTRASH/x` resolves to `.gitignore:54` — so a fresh in-tree trash dir is ignored from birth and this does not recur on its own. |
|
||||
|
||||
## Owned-elsewhere (do not adopt here)
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ instead of crash-looping.
|
||||
|
||||
**The tracked unit is the file, not the directory.** A live directory can be a real
|
||||
directory and still be fully tracked, because every file inside it is a symlink into the
|
||||
repo (`niri` is 12 tracked / 1 box-only; `gtk-3.0` is 3/0). Any audit that classifies by
|
||||
repo (`niri` is 9 tracked / 1 box-only; `gtk-3.0` is 3/0). Any audit that classifies by
|
||||
directory mislabels the tree — classify per file with `readlink -f`. The live census and
|
||||
its classifier command are in [home-config-census](/inventory/home-config-census.md).
|
||||
|
||||
@@ -70,3 +70,23 @@ ls -l ~/.config/systemd/user/default.target.wants/
|
||||
|
||||
Fix is to relink into the deployment checkout (`~/.omp/dotfiles/…`), `systemctl --user
|
||||
daemon-reload`, then confirm with `is-active` — `is-enabled` proves nothing.
|
||||
|
||||
## Law: a generated file must never be a required include
|
||||
|
||||
`~/.config/niri/config.kdl` ends with `include "noctalia.kdl"` — no `optional=true`.
|
||||
That file is noctalia's palette output (`#ff8c00`, `#f43841`, one re-stamp
|
||||
`2026-10-18 17:36:27`), so it is machine state and correctly untracked. But on a fresh
|
||||
box `deploy.sh` links `config.kdl` first, and niri then refuses to start until noctalia
|
||||
has run once and written the file — the compositor is bricked by the order of operations,
|
||||
not by a bad config. Close it at the include, which survives someone skipping the theme
|
||||
pipeline: mark generated includes `optional=true`, as the `display.kdl` and
|
||||
`switch-events.kdl` lines in the same file already are.
|
||||
|
||||
## Desk choice is live state, never config
|
||||
|
||||
`~/.config/niri/cfg/display.kdl` is a relative symlink to whichever profile is active
|
||||
(`desk-1-home.kdl`, `desk-2-portable.kdl`), written by `desk.sh`. Both profiles are
|
||||
tracked in `dotfiles/zz-blankpad/`; the pointer is not, because which desk the box sits on
|
||||
is not a fact about the repo. A fresh box therefore starts with no output configuration —
|
||||
`config.kdl` includes `display.kdl` with `optional=true`, so niri comes up usable but with
|
||||
default monitors until `desk.sh` is run once.
|
||||
Reference in new issue
Block a user