Files
command-center/omp-docs/tools/index.md
Frank 6df45d709a Add pkg-inventory.sh: report what a machine has outgrown its manifests
install.sh installs desired − installed from packages/*.pkgs, which guarantees a fresh box reaches
the declared state — and nothing anywhere checked that the declared state still describes the
machines. Measured against the Calamares install day, blankpad carries 41 hand-installed packages
and packages/blankpad.pkgs declared one line.

pkg-inventory.sh walks the other direction: installed − declared, with the pacman log as the
baseline so installer furniture is never reported as a hand install. It splits additions by
whether a sync db can serve them (Chaotic-AUR counts, so only true AUR routes to aur.pkgs),
excludes orphans from --emit, reports flatpak apps without pretending install.sh installs them,
and exits 3 rather than guessing when the sync databases are unreadable.

16 black-box tests over fixtures and a stubbed pacman. Two of them exist because the first
implementation was wrong in ways a small fixture cannot show: sort|head under pipefail dies of
SIGPIPE on a real 1000-line install-day log (awk-exit closes the pipe exactly as head does), and
tr without a trailing echo glues the next report label onto the last folded name.

Docs: omp-docs/tools/packages.md now owns the package tier — install.sh was never documented.

Refs #51
2026-10-20 18:07:42 -07:00

2.8 KiB

Tool Documentation

Configuration guides and reference material for installed software. Each tool has its own directory with an index.md entry point.


Available Tools

  • applications — Default userspace applications on CachyOS with Niri — browsers, editor, terminal, file manager, audio, screenshots, gaming.
  • cachyos — Arch-based rolling release with performance-optimized kernels, repositories, and gaming stack. Running on the workstation.
  • comfyui — Node-based AI image generation engine on dankclaw. FLUX.2 klein 4B, CPU backend, systemd managed.
  • dotfiles-deploy — How dotfiles/ packages become live config: deploy.sh modes, host override packages, and why theme media and worktree-enabled units are traps.
  • ghostty — GPU-accelerated terminal emulator with extensive configuration, keybindings, and shaders.
  • gitea — Private Git hosting on dankclaw. Quadlet-managed containers: Gitea, PostgreSQL, Caddy.
  • handy — Offline speech-to-text transcription with WebKitGTK backend and Tauri v2 UI.
  • live-sync — Heartbeat daemon committing machine-written paths (memories, managed-skills, live config, dotfiles) in the command-center checkout; systemd user timer, alerts via ntfy.
  • llama.cpp — Local LLM inference server supporting GGUF models with OpenAI-compatible API.
  • linux-power-management — Sleep/wake troubleshooting, NVIDIA GPU power management, and diagnostics for Linux systems.
  • neovim — Two editors in one binary: vanilla nvim for quick edits and the lazyvim NVIM_APPNAME profile, with the base16 wallpaper-palette hook and fresh-box install.
  • niri — Scrollable-tiling Wayland compositor — configuration, keybindings, and architecture for the workstation.
  • noctalia-shell — Native desktop environment for Niri — launcher, control center, settings, lock screen, session menu, hotkey overlay, media controls, and system management.
  • packages — packages/*.pkgs desired state and the two tools that keep a machine and its manifest agreeing: install.sh installs the delta, pkg-inventory.sh reports what the machine has outgrown.
  • tmux — Terminal multiplexer configuration, extended-keys setup, keyboard input best practices, and reload/restart procedures.

Adding a New Tool

  1. Create a directory: tools/<tool-name>/
  2. Add index.md as the entry point (no frontmatter for directory listings)
  3. Create concept files with frontmatter if content exceeds one file
  4. Update this index

Skills tooling lives in /skills/, not in this directory.