This repository is the source of truth for my development environment, managed with chezmoi.
It is intended to control all of my personal configuration, including:
- Codex
- Fish
- Ghostty
- Neovim
- Git
- Shell tooling
- Terminal configuration
- Other machine-specific and cross-machine developer setup
- Keep my full config portable and reproducible
- Manage changes declaratively with
chezmoi - Sync the same setup across machines with minimal manual steps
Initialize a new machine with chezmoi and this repo:
chezmoi init https://github.com/michael-willingham/dotfiles.git
chezmoi applyEdit managed files through chezmoi:
chezmoi edit ~/.config/fish/config.fish
chezmoi edit ~/.config/nvim/init.lua
chezmoi edit ~/.config/Cursor/User/settings.jsonReview pending changes:
chezmoi diffApply updates:
chezmoi apply- Secrets should be managed separately from this repository unless explicitly encrypted through
chezmoi. - Some configs may eventually use templates, scripts, or machine-specific conditionals as this setup grows.