chezmoi init clzmjPersonal dotfiles managed with chezmoi.
Before using these dotfiles, you must have the following installed:
- git - Required for cloning repositories
- Homebrew - Package manager for macOS (brew.sh)
- chezmoi - Dotfile manager (
brew install chezmoi)
The following are not included in the Brewfile and require manual installation/initialization:
| Dependency | Installation | Notes |
|---|---|---|
| Oh-My-Zsh | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Required for shell to work properly |
| Rust toolchain | rustup-init && rustup default stable |
rustup is in Brewfile but needs initialization |
If you want to use this config, I highly recommend forking the repo first and then cloning from your own account. This way you can customize it freely and push your own changes.
chezmoi init <your-username>Chezmoi will automatically guess the full git repo URL. For example, chezmoi init clzmj expands to https://github.com/clzmj/dotfiles.git.
| Pattern | HTTPS Repo | SSH Repo (with --ssh) |
|---|---|---|
user |
https://github.com/user/dotfiles.git |
[email protected]:user/dotfiles.git |
user/repo |
https://github.com/user/repo.git |
[email protected]:user/repo.git |
site/user/repo |
https://user@site/user/repo.git |
git@site:user/repo.git |
Or if you prefer to clone manually:
git clone https://github.com/<your-username>/dotfiles.git ~/.local/share/chezmoiEdit ~/.local/share/chezmoi/dot_Brewfile to add or remove packages:
$EDITOR ~/.local/share/chezmoi/dot_Brewfile- Keep it minimal - delete any
brew,cask, ortaplines for packages you don't need - You can always install packages directly with
brew install <package>later - The
sysupdatecommand will automatically update your Brewfile when you install new packages
brew bundle install --file=~/.BrewfileThis will install all taps, brews, casks, and other dependencies defined in your Brewfile.
Run the sysupdate command to update everything:
sysupdateThis command will:
- Update and upgrade all Homebrew packages
- Dump current packages back to the Brewfile
- Sync changes with chezmoi
- Clean up unused packages
- Reload your shell configuration
You can have your own separate chezmoi-private repository at ~/.local/share/chezmoi-private that works seamlessly alongside the public dotfiles. This is recommended for storing encrypted files, secrets, and sensitive configurations.
To set it up:
chezmoi --source ~/.local/share/chezmoi-private init https://github.com/<username>/dotfiles-private.gitThe sysupdate and dotfiles commands automatically detect and work with both repositories.
Updates your entire system:
sysupdateWhat it does:
- Runs
brew updateandbrew upgrade - Dumps current packages to
$HOMEBREW_BREWFILE - Adds the updated Brewfile to chezmoi
- Cleans up unused packages with
brew bundle cleanup --zap - Reloads shell aliases and sources
~/.zshrc - Re-adds changes to both public and private chezmoi repos (if on main machine)
Interactive fuzzy finder for editing dotfiles:
dotfilesWhat it does:
- Lists all managed dotfiles from both public and private chezmoi repos
- Opens an fzf selector with live preview of file contents
- Opens the selected file in your editor with
chezmoi edit --watch - Applies changes and reloads shell configuration when done