# 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. # # ── Where the shell templates live ── # # scripts/setup/{starship.toml, tmux.conf, zshrc}, together. starship.toml has to # be here rather than inside machine-setup/, because the PLATFORM reads it too — # os-user-shell.ts:34 deploys it to every member's Linux account — so it is not # machine-setup's private file. The other two joined it so there is one answer to # "where do the dotfile templates live". # # No leading dot on any of them: templates in a repository, not dotfiles in a # home directory. src/servers/shell-skel/zshrc has been spelled that way all # along. # # `[open]` TOMORROW. There are now two zshrc templates — this one for the owner # and shell-skel/zshrc for members — while starship.toml is deliberately ONE file # for both audiences. Either the owner genuinely needs different shell config # from a member, or these should be the same file the way starship is. The tmux # config has the same question waiting, since it is going into provisioning too. # # ── 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.