- Shell 50.1%
- Go Template 47.1%
- Ruby 2.8%
| dot_claude | ||
| dot_config | ||
| .chezmoiignore | ||
| .gitignore | ||
| Brewfile | ||
| CLAUDE.md | ||
| com.googlecode.iterm2.plist | ||
| create_private_dot_zsh_history | ||
| dot_gitconfig | ||
| dot_zprofile.tmpl | ||
| dot_zshrc.tmpl | ||
| README.md | ||
| run_once_install_homebrew.sh.tmpl | ||
| run_once_install_mise.sh.tmpl | ||
dotfiles
Managed by chezmoi.
new machine
brew install chezmoi
chezmoi init --repo git@github.com:darcien/dotfiles.git
chezmoi apply
The run_once script installs Homebrew and runs brew bundle install on first apply.
Linux
- Install build-essential / gcc before
chezmoi apply(brew needs it). - Font
font-fantasque-sans-mono-nerd-fontis a macOS cask — install it manually on Linux.
daily use
chezmoi apply -v # deploy managed files
chezmoi diff # preview what apply would change
chezmoi status # list managed files that differ
chezmoi add ~/.foo # start managing a new file
chezmoi edit ~/.zshrc # edit source, then apply
chezmoi cd # open shell in source dir
machine-local overrides
Some tools (OrbStack, LM Studio, deno, rustup) auto-inject lines into shell
files. chezmoi apply overwrites those, so they'd disappear.
Each managed shell file sources a .local counterpart that chezmoi ignores:
~/.zshrc.local~/.zprofile.local~/.secrets.local(same pattern, already existed)
After first chezmoi apply on a new machine, move any auto-injected lines
into the matching .local file. chezmoi stays clean, the tools keep working.
optional tools
Not in Brewfile. Install as needed — each one self-injects into shell files,
so move its lines into ~/.zshrc.local after installing.
- Rust —
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh(rustup adds.cargo/envto every profile it finds) - Deno —
curl -fsSL https://deno.land/install.sh | sh(adds env source + completions)
adding packages
Edit Brewfile in source dir, then:
brew bundle install --file ~/.local/share/chezmoi/Brewfile
macOS apps (manual)
Tailscale — not in Brewfile. Its .pkg installer needs
interactive sudo, which breaks brew bundle install when run non-interactively.
Install manually: brew install --cask tailscale
OrbStack — install from website. Self-injects into
~/.zprofile, so move its line into ~/.zprofile.local after installing.
LM Studio — install from website. Self-injects a PATH
entry into ~/.zshrc, so move it into ~/.zshrc.local after installing.
iTerm2 — installed via Brewfile, but its config is not
managed by chezmoi. com.googlecode.iterm2.plist is kept in this repo as a
static backup. Copy manually to ~/Library/Preferences/ if restoring.