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
2.8 KiB
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.shmodes, 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
nvimfor quick edits and thelazyvimNVIM_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/*.pkgsdesired state and the two tools that keep a machine and its manifest agreeing:install.shinstalls the delta,pkg-inventory.shreports what the machine has outgrown. - tmux — Terminal multiplexer configuration, extended-keys setup, keyboard input best practices, and reload/restart procedures.
Adding a New Tool
- Create a directory:
tools/<tool-name>/ - Add
index.mdas the entry point (no frontmatter for directory listings) - Create concept files with frontmatter if content exceeds one file
- Update this index
Skills tooling lives in /skills/, not in this directory.