All ~173 managed skills read in full and merged, one polished reference page per skill-cluster: - LLM cross-cutting (17 pages): GGUF Compatibility, Llama Cpp Serving Sizing, Llama Cpp Multi-Device Splits, PCIe Link and Atomics, RDNA4 Container Serving, RDNA4 MoE Expert Offload VRAM Budget, vLLM Boot Forensics, vLLM Porting and Compile Triage, LLM Bench Windows, LLM Performance Diagnosis, Model Swap and Rollback, Tcclaviger Fork Ops, Heterogeneous Split Triage, FreeToken Builds + deltas folded into the retired runbooks (GLM DFlash2 port laws, Lucebox dual-R9700, R9V qualification pipeline, FLM pack registration, ik hybrid envelope, frank-medium split rebalance, llama.cpp GGUF preflight, batch-ubatch split section, bench-window D-state/stale-read notes, second-endpoint bring-up). - Architecture (3): Stale Signal Audit, Quadlet Lifecycle, Deploy State Triage. - Operations (6 + index): Remote Job Runner, Payload and Disk Reclaim, Container Host Reachability, Fleet Ops Playbook, Fleet Audit and Posture, SSH and Remote Access. - Infrastructure: Observability Provisioning + Homepage Status Probes; updates to Authentik, Anubis, LAN-DNS (per-client DoH bypass, Porkbun zone ops), Swap Configuration, OpenWebUI, Hermes (pre-existing page preserved and extended). - FrankBook-Pro: ARR-Stack filled (API split, schema-first probing, auth-posture, auth-config trap); qBittorrent E2E verification. - Desktop/Agent/Research: Noctalia and Niri, OMP Harness, Agent Docs and Edits, Command Center Dotfiles, PICO-8 Asset Standards. - Indexes: LLM Cross-Cutting References section, Operations/ and Agent/ index pages, root-index Skill Distillation section, AGENTS.md pointer. - log.md carries the wave plan. check-vault-links.py 0 unresolved (185 pages); ./tests/run.sh 366/366.
4.2 KiB
4.2 KiB
type, title, description, tags, timestamp
| type | title | description | tags | timestamp | |||||
|---|---|---|---|---|---|---|---|---|---|
| reference | Command Center Dotfiles | The ~/.omp repo is itself the deployment — stow-equivalent packages, full-replica rsync transport, the pre-overwrite audit for non-blank hosts, deploy.sh mechanics, and the fish/sshpass transport gotchas. |
|
2026-10-05T00:00:00-07:00 |
Command Center Dotfiles
Repo ~/.omp is itself the deployment: packages are home-relative trees
under dotfiles/<pkg>/; scripts/deploy.sh symlinks live files into the
repo checkout. git pull + deploy.sh is the whole propagation story.
Transport decision (agreed with Frank, executed 2026-09-09)
- Ship via full-replica rsync of
/home/dank/.omp/including.gitto<user>@<host>:/home/<user>/.omp/, NOT clone-from-Gitea —maincan be ahead oforigin/main; push is a user-only trigger, so clone would ship stale state. - Deploy runs on-target as the target user:
bash /home/<user>/.omp/scripts/deploy.sh(resolves the repo viagit -C $(dirname $(realpath $0)) rev-parse --show-toplevel, so.gitmust be present at the target path — full-replica transport guarantees this).
Pre-overwrite audit (MANDATORY before first sync on a non-blank host)
Diff every file that deploy.sh --check reports as DRIFT against the repo
copy BEFORE letting quarantine-and-replace run. Host-specific divergence
belongs in an override package, not in quarantine:
- Pull divergent live files from target
(
ssh ... 'cat <path>' > local-staged-copy). - Secret-audit staged copies (grep token/secret/password/key shapes) before anything enters git.
- Compose
dotfiles/zz-<hostname>/on the source machine from those live copies; commit to repo first. - Ship the package dir via rsync, then run deploy sync — override deploys LAST and win over base packages.
deploy.sh mechanics (verified on blankpad)
--check= pure report (ADOPT/LINK/DRIFT lines), writes nothing. Run it first, always.- Default mode = sync: adopt identicals silently, link new,
quarantine-and-replace divergents into
.quarantine/<host>/<ts>/(gitignored; never rm). - Override-target bug (fixed cc2c652):
zz-<host>packages nest base-package dirs internally (zz-blankpad/niri/.config/...); target derivation must strip the nested package segment, else overrides deploy to phantom$HOME/niri/.config/...while real targets keep pointing at canonical copies (visible symptom: check shows 0 actions butreadlink ~/.zshrcpoints at basezsh/.zshrc). - systemd units auto-enable only when ExecStart binary resolves on that
host; dconf packages load via
dconf load /, never symlinks. core.hooksPath=.githooksis armed by deploy.sh per machine — set it once post-transfer even before first sync.
ssh/sshpass transport gotchas (all bit live)
- Resolve the target via mDNS FQDN (
avahi-resolve -4 -n <host>.local); a bare hostname may not resolve. Drop-not-refuse on port 22 = sshd down or firewall default-drop, not auth failure — needs a local/console fix on target. SSHPASS='...' sshpass -e ssh ...inline per invocation; an env passed via the tool's env parameter did not propagate to the sshpass child process.- The remote login shell may be fish: never send bash syntax
(
for/do/done,$?) bare throughssh host 'cmd'; wrap asbash -c "..."or ship a script. See SSH and Remote Access. - File shipping:
ssh 'cat > /remote/path' < localfile(stdin redirect). A here-doc attached to the ssh command is consumed bycat— the intended script body becomes the file content, silently. Verify shipped bytes with an md5sum compare on both ends; do NOT compare/dev/stdinaftercatdrained it (false DIVERGED).
Verification of a completed deploy
Re-run deploy.sh --check → expect exactly zero actions/quarantined/skipped
= idempotent steady state. Spot-check readlink on override files points
into dotfiles/zz-<host>/, not base packages.
Related
- SSH and Remote Access — the transport mechanics this deploy rides
- Noctalia and Niri — the desktop packages this repo ships
- Deploy State Triage — the serverAppConfig deploy flow (different repo)