Daily workflow¶
Setup is done. These are the loops you'll actually run day to day — each one is two or three commands, with a guide behind it when you need more.
Packages¶
dotty brewfile add jq # install + record in the profile's Brewfile
git -C ~/Repos/dotfiles commit -am "feat: add jq" && git push
On your other machines: pull, then dotty brewfile sync to converge — mind that
sync removes unlisted packages.
Dotfiles¶
Edit configs in the repo (they're symlinked, so changes apply live), then commit. After adding new files, re-link and check:
Secrets¶
Secrets live in the macOS Keychain, never in files; env run injects them for
exactly one command. See Credentials & the Keychain.
Sessions¶
Fuzzy-pick a repo, get a tmux session with a window per coding agent, and watch the status bar for the ● / 🔔 agent indicators. From Neovim, <leader>+F+S jumps between sessions and their agent worktrees.
A second machine¶
- Install dotty.
- Clone your dotfiles repo.
dotty init --repo <clone>(or run it from inside) — the stored answers walk you through, and the machine adopts the profile's class.- If the machine belongs to a different class:
dotty profile activate.
Staying in sync¶
The repo is the sync channel — there is no daemon. Commit and push changes; on
other machines pull, then dotty dotfiles link and dotty brewfile sync as
needed. When an agent has been working in a worktree,
dotty git resign before you merge.