managed by chezmoi
macos
brew install chezmoi && chezmoi init --apply brendanleeslinux
sh -c "$(curl -fsLS get.chezmoi.io/lb)" -- init --apply brendanleeson first run you'll be prompted to set your machine role. see scoping to skip prompts or provision via ansible.
.chezmoi.toml.tmpl # template config — sets role flags (personal/work/homelab/ephemeral)
.chezmoiexternal.toml.tmpl # external sources (fetched files, archives)
.chezmoiscripts/
run_once_before_* # bootstrap: install chezmoi deps, mise
run_after_* # post-apply: install tools, tmux plugins
.chezmoitemplates/ # shared template partials
dot_zshrc.tmpl # zsh config
dot_aliases/ # alias files, sourced by zshrc
dot_config/ # xdg config (git, mise, starship, ghostty, …)
role flags gate which config and packages are applied per machine type.
- usage — updating, re-installing
- scoping — machine roles, skipping prompts, ansible
- file tracking — adding dotfiles to track
- testing — ci pipeline and branch testing
- inspiration — reference repos and tools