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 mauvehed
After 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-config
Set 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 apply
Personal secrets are stored in 1Password. The chezmoi
setup will install the 1Password CLI.
- After the initial
chezmoi apply
completes, you must sign in to the 1Password CLI:eval $(op signin)
- Re-apply
chezmoi
(if needed): If the initialchezmoi apply
could 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 diff
To apply changes from .local/share/chezmoi/
to ~/ use:
chezmoi apply
To both git pull
and chezmoi apply
use update
chezmoi update
To force a refresh the downloaded archives (from .chezmoiexternal.toml
), use the --refresh-externals (-R) flag to chezmoi apply:
chezmoi -R apply
To test chezmoi template files (.tmpl):
chezmoi execute-template < dot_gitconfig.tmpl
To execute git commands within the chezmoi source director you can append them to the chezmoi command
Git pull:
chezmoi git pull
Git push:
chezmoi git push
Git status:
chezmoi git status