My collection of my dotfiles used across multiple systems and managed by chezmoi.
To get started, you primarily need a shell environment with curl or wget to download and execute the chezmoi installation script.
The following command will download and install chezmoi (if not already present), initialize it with this dotfiles repository, and apply the configuration. This process will also install and configure other necessary tools such as Homebrew, Zsh, oh-my-zsh, oh-my-posh, and the 1Password CLI.
sh -c "$(curl -fsSL get.chezmoi.io)" -- init --apply mauvehedAfter the first run of the install script, we'll need to manually edit the chezmoi config in order to set the machine type. This will enable to full package installation.
chezmoi edit-configSet personal = true or work = true depending on the needs.
Once this is done, re-run chezmoi to force the rest of the install.
chezmoi --force applyPersonal secrets are stored in 1Password. The chezmoi setup will install the 1Password CLI.
- After the initial
chezmoi applycompletes, you must sign in to the 1Password CLI:eval $(op signin)
- Re-apply
chezmoi(if needed): If the initialchezmoi applycould not fully provision all configurations due to 1Password not being authenticated, run the apply command again after signing in:chezmoi apply
These dotfiles, through chezmoi, will install and manage the following tools and configurations on your system:
| Name | Description | Managed |
|---|---|---|
| Terminal | iTerm2 (macOS) | Optional |
| Package manager | Homebrew | Yes |
| Shell | Zsh | Yes |
| Shell Framework | oh-my-zsh | Yes |
| Shell Prompt Customizer | oh-my-posh | Yes |
| Dotfiles manager | chezmoi | Yes |
| Password Manager CLI | 1Password CLI | Yes |
To add new files to chezmoi control:
chezmoi add <file>To edit a file under chezmoi control:
chezmoi edit <file>To preview changes before applying:
chezmoi diffTo apply changes from .local/share/chezmoi/ to ~/ use:
chezmoi applyTo both git pull and chezmoi apply use update
chezmoi updateTo force a refresh the downloaded archives (from .chezmoiexternal.toml), use the --refresh-externals (-R) flag to chezmoi apply:
chezmoi -R applyTo test chezmoi template files (.tmpl):
chezmoi execute-template < dot_gitconfig.tmplTo execute git commands within the chezmoi source director you can append them to the chezmoi command
Git pull:
chezmoi git pullGit push:
chezmoi git pushGit status:
chezmoi git status