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
33 lines
2.8 KiB
Markdown
33 lines
2.8 KiB
Markdown
# 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](applications.md) — Default userspace applications on CachyOS with Niri — browsers, editor, terminal, file manager, audio, screenshots, gaming.
|
|
* [cachyos](cachyos.md) — Arch-based rolling release with performance-optimized kernels, repositories, and gaming stack. Running on the workstation.
|
|
* [comfyui](comfyui/index.md) — Node-based AI image generation engine on dankclaw. FLUX.2 klein 4B, CPU backend, systemd managed.
|
|
* [dotfiles-deploy](dotfiles-deploy.md) — How `dotfiles/` packages become live config: `deploy.sh` modes, host override packages, and why theme media and worktree-enabled units are traps.
|
|
* [ghostty](ghostty/index.md) — GPU-accelerated terminal emulator with extensive configuration, keybindings, and shaders.
|
|
* [gitea](gitea/index.md) — Private Git hosting on dankclaw. Quadlet-managed containers: Gitea, PostgreSQL, Caddy.
|
|
* [handy](handy.md) — Offline speech-to-text transcription with WebKitGTK backend and Tauri v2 UI.
|
|
* [live-sync](live-sync.md) — 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](llama-cpp/index.md) — Local LLM inference server supporting GGUF models with OpenAI-compatible API.
|
|
* [linux-power-management](linux-power-management.md) — Sleep/wake troubleshooting, NVIDIA GPU power management, and diagnostics for Linux systems.
|
|
* [neovim](neovim.md) — 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](niri/index.md) — Scrollable-tiling Wayland compositor — configuration, keybindings, and architecture for the workstation.
|
|
* [noctalia-shell](noctalia-shell.md) — Native desktop environment for Niri — launcher, control center, settings, lock screen, session menu, hotkey overlay, media controls, and system management.
|
|
* [packages](packages.md) — `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](tmux.md) — 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/](../skills/index.md), not in this directory.
|