# Officer — the owner's shell configuration. # # EMPTY ON PURPOSE, for now. Created 2026-08-13 so there is somewhere to put the # things the owner actually wants, and it is not wired into the Shell section yet. # # ── What this replaces, and the decision still to make ── # # The Shell section does not install a .zshrc today. It APPENDS four # marker-wrapped blocks to whatever is already there — `starship`, `agent`, # `aliases` and `editor` — via `append_once`, which recognises its own work so a # second run does not duplicate it. That was the right call for a machine whose # .zshrc already belongs to somebody. # # Installing a whole file is a different promise, and the two do not compose: a # template that gets installed AND appended to ends up with the same lines twice, # once from the file and once from a block. So when this is wired in, the four # append_once blocks either move INTO this file or stay out of it — not both. # # `install_config` already handles the careful half: it writes only when the # destination is missing or still byte-for-byte the template, and offers a diff # otherwise, so an owner's own edits are never overwritten. # # ── Naming ── # # `zshrc`, no leading dot. It is a template in a repository, not a dotfile in a # home directory — the same reason tmux.conf lost its dot beside it. The member # equivalent, src/servers/shell-skel/zshrc, has been spelled that way all along. # # ── The one thing worth keeping when this is filled in ── # # shell-skel/zshrc depends on nothing but zsh: starship, eza, nvim and bun are # each used only if present, so the same file works on a minimal VPS and on a # fully equipped workstation. Worth holding to here, since this file will be read # on machines that have had none of the optional sections run.