Cross-platform dotfiles managed with chezmoi.
# Install chezmoi and apply dotfiles
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply $PATH_TO/my-mac-setupThis will:
- Install Homebrew (if not present)
- Install CLI tools and apps via Brewfiles
- Install Oh My Zsh and plugins
- Apply macOS system preferences
- Set up all configs (zsh, git, starship, yazi, etc.)
Some configs use 1Password to inject API keys (e.g., LINEAR_API_KEY).
1Password CLI is installed automatically via Brewfile. To enable:
- Open 1Password app: Settings → Developer → Enable "Integrate with 1Password CLI"
- Run
chezmoi applyto inject secrets into configs
After running chezmoi, configure these manually:
- Raycast — Import
*.rayconfigbackup - VS Codium — Install Settings Sync extension
- SetApp — Install: Bartender, CleanMyMac, CleanShot X, CloudMounter
- NextDNS — Configure
- Keyboard Layout — Add Seigiard Layout
- System Settings — See
macos-settings.mdfor manual tweaks
home/
├── .chezmoiscripts/ # Install scripts (run by chezmoi)
│ ├── run_onchange_after_install-packages.sh.tmpl
│ └── darwin/
│ └── run_once_after_macos-tunes.sh
├── private_dot_config/
│ ├── brewfiles/ # Homebrew packages
│ │ ├── Brewfile # Cross-platform CLI tools
│ │ └── Brewfile.macos # macOS apps and casks
│ ├── ghostty/
│ ├── karabiner/
│ └── yazi/
├── dot_zshrc.tmpl # Uses 1Password for API keys
├── dot_aliases
├── dot_gitconfig.tmpl
└── ...
# Update dotfiles from repo
chezmoi update
# Edit a dotfile
chezmoi edit ~/.zshrc
# See what would change
chezmoi diff
# Apply changes
chezmoi apply
# Add a new dotfile
chezmoi add ~/.config/some-app- macOS — Full support (apps, system preferences, fonts)
- Linux — CLI tools only (via Brewfile)