Skip to content

Variables

The following configuration variables are available:

Section Variable Type Default value Description
Top level cacheDir string $XDG_CACHE_HOME/chezmoi
$HOME/.cache/chezmoi
%USERPROFILE%/.cache/chezmoi
Cache directory
color string auto Colorize output
data object none Template data
destDir string $HOME
%USERPROFILE%
Destination directory
encryption string none Encryption type, either age or gpg
env object none Extra environment variables for scripts and commands
format string json Format for data output, either json or yaml
mode string file Mode in target dir, either file or symlink
pager string $PAGER Default pager CLI command
persistentState string $XDG_CONFIG_HOME/chezmoi/chezmoi.boltdb
$HOME/.config/chezmoi/chezmoi.boltdb
%USERPROFILE%/.config/chezmoi/chezmoi.boltdb
Location of the persistent state file
progress bool false Display progress bars
scriptEnv object none Extra environment variables for scripts and commands
scriptTempDir string none Temporary directory for scripts
sourceDir string $XDG_SHARE_HOME/chezmoi
$HOME/.local/share/chezmoi
%USERPROFILE%/.local/share/chezmoi
Source directory
tempDir string from system Temporary directory
umask int from system Umask
useBuiltinAge string auto Use builtin age if age command is not found in $PATH
useBuiltinGit string auto Use builtin git if git command is not found in $PATH
verbose bool false Make output more verbose
workingTree string source directory git working tree directory
add encrypt bool false Encrypt by default
secrets string warning Action when secrets are found when adding files
templateSymlinks bool false Template symlinks to source and home dirs
age args []string none Extra args to age CLI command
command string age age CLI command
identities []string none age identity files
identity string none age identity file
passphrase bool false Use age passphrase instead of identity
recipient string none age recipient
recipients []string none age recipients
recipientsFile string none age recipients file
recipientsFiles []string none age recipients files
suffix string .age Suffix appended to age-encrypted files
symmetric bool false Use age symmetric encryption
awsSecretsManager profile string none AWS shared profile name
region string none AWS region
azureKeyVault defaultVault string none Default Azure Key Vault name
bitwarden command string bw Bitwarden CLI command
bitwardenSecrets command string bws Bitwarden Secrets CLI command
cd args []string none Extra args to shell in cd command
command string none Shell to run in cd command
completion custom bool false Enable custom shell completions
dashlane args []string none Extra args to Dashlane CLI command
command string dcli Dashlane CLI command
diff args []string see diff Extra args to external diff command
command string none External diff command
exclude []string none Entry types to exclude from diffs
pager string none Diff-specific pager
reverse bool false Reverse order of arguments to diff
scriptContents bool true Show script contents
doppler args []string none Extra args to Doppler CLI command
command string doppler Doppler CLI command
config string none Default config (aka environment) if none is specified
project string none Default project name if none is specified
edit apply bool false Apply changes on exit
args []string none Extra args to edit command
command string $EDITOR / $VISUAL Edit command
hardlink bool true Invoke editor with a hardlink to the source file
minDuration duration 1s Minimum duration for edit command
watch bool false Automatically apply changes when files are saved
ejson key string none The private key to use for decryption, will supersede using the keyDir if set.
keyDir string none Path to directory containing private keys. Defaults to /opt/ejson/keys. Setting the EJSON_KEYDIR environment will also set this value, with lower precedence.
git autoAdd bool false Add changes to the source state after any change
autoCommit bool false Commit changes to the source state after any change
autoPush bool false Push changes to the source state after any change
command string git git CLI command
commitMessageTemplate string none Commit message template
commitMessageTemplateFile string none Commit message template file (relative to source directory)
gitHub refreshPeriod duration 1m Minimum duration between identical GitHub API requests
gopass command string gopass gopass CLI command
gpg args []string none Extra args to GPG CLI command
command string gpg GPG CLI command
recipient string none GPG recipient
recipients []string none GPG recipients
suffix string .asc Suffix appended to GPG-encrypted files
symmetric bool false Use symmetric GPG encryption
hcpVaultSecrets applicationName string none Default application name if none is specified
args []string none Extra args to HCP Vault Secrets CLI command
command string vlt HCP Vault Secrets CLI command
organizationId string none Default organization ID if none is specified
projectId string none Default project ID if none is specified
hooks command.post.args []string none Extra arguments to command to run after command
command.post.command []string none Command to run after command
command.pre.args []string none Extra arguments to command to run before command
command.pre.command []string none Command to run before command
interpreters extension.args []string none See Scripts on Windows
extension.command string special See Scripts on Windows
keepassxc args []string none Extra args to KeePassXC CLI command
command string keepassxc-cli KeePassXC CLI command
database string none KeePassXC database
mode string cache-password See KeePassXC functions
prompt bool true Prompt for password
keeper args []string none Extra args to Keeper CLI command
command string keeper Keeper CLI command
lastpass command string lpass LastPass CLI command
merge args []string See merge Extra args to three-way merge CLI command
command string none Three-way merge CLI command
onepassword cache bool true Enable optional caching provided by op
command string op 1Password CLI command
mode string account See 1Password Secrets Automation
prompt bool true Prompt for sign-in when no valid session is available
onepasswordSDK token string none See 1Password SDK functions
tokenEnvVar string none See 1Password SDK functions
pass command string pass Pass CLI command
passhole args []string none Extra args to Passhole CLI command
command string ph Passhole CLI command
prompt bool true Prompt for password
pinentry args []string none Extra args to pinentry CLI command
command string none pinentry CLI command
options []string See pinentry Extra options for pinentry
rbw command string rbw Unofficial Bitwarden CLI command
secret args []string none Extra args to secret CLI command
command string none Generic secret CLI command
status exclude []string none Entry types to exclude from status
pathStyle string relative How to present the path to files in status output
template options []string ["missingkey=error"] Template options
textconv []object none See textconv
update apply bool true Apply after pulling
args []string none Extra args to update command
command string none Update command
recurseSubmodules bool true Update submodules recursively
vault command string vault Vault CLI command
verify exclude []string none Entry types to exclude from verify
warnings object none See Warnings