- This repo is a personal dotfiles source managed by chezmoi; source files render into
$HOME. - Naming:
dot_*=> dotfile targets,private_*=> private files,.tmpl=> Go-template sources. - No Cursor/Claude/Windsurf/Cline/Goose/Copilot rule files exist here; also follow scoped rules in
dot_config/AGENTS.mdanddot_config/nvim/AGENTS.md. - No dedicated build, lint, or unit-test suite exists; use chezmoi verification commands instead.
- Chezmoi reference docs:
https://www.chezmoi.io/reference/; key command pages:https://www.chezmoi.io/reference/commands/apply/,https://www.chezmoi.io/reference/commands/diff/,https://www.chezmoi.io/reference/commands/execute-template/, andhttps://www.chezmoi.io/reference/commands/verify/. - Main repo checks:
chezmoi verifyandchezmoi apply --dry-run --verbose. - Single-file "test":
chezmoi diff --source-path <source-file> --no-pagerorchezmoi apply --dry-run --source-path <source-file>. - Single-template render check:
chezmoi execute-template --file <source-template> > /dev/null. Always redirect to/dev/null; templates may callonepasswordRead(or similar secret-fetching functions) and rendering to stdout would leak secrets into the terminal scrollback and shell history. Usechezmoi diff/verifyfor content inspection because they render to the target file, not stdout. - Single-target check:
chezmoi verify <target-path>(examplechezmoi verify ~/.config/ghostty/config). - Neovim Lua sanity check after config edits:
nvim --headless '+qa'. .chezmoi.toml.tmpldefines prompt-backed data (profile,email.*) and enables auto-commit/auto-push..chezmoiexternal.tomlmanages external git checkouts;dot_config/mise/config.tomldeclares runtime tools.dot_zshrc.tmpl,dot_gitconfig.tmpl,private_dot_ssh/,dot_config/ghostty/, anddot_config/private_jj/are the main shell/git/terminal/VCS configs.dot_config/nvim/is a self-contained Neovim subproject;init.luabootstrapsmini.nvim,plugin/10_*..40_*load in numeric order, and_G.Configis the shared internal API.- There is no app server or database here; external integrations are mainly chezmoi template data,
onepasswordReadlookups, and fetched git repos. - Preserve the existing file format and indentation in each file; do not normalize unrelated whitespace.
- Keep templates declarative and profile-gated with
if eq .profile ...; prefer data/config over helper logic. - Never commit rendered secrets or hardcode credentials; use
onepasswordReadfor secrets. - In Lua, prefer
localconstants, small setup blocks, and existingMiniDeps.now/later/addpatterns. - Follow existing names/load order and keep comments sparse; avoid broad refactors in personal config files.