Key terms for chezmoi dotfile management — templates, scripts, data files, and the source-to-target lifecycle.
No matching terms found.
.
.chezmoi.toml.tmpl
A config template at the source state root that generates the machine-local chezmoi configuration file during chezmoi init, typically using prompts to collect machine-specific values.
.chezmoidata file
A TOML, YAML, or JSON file in the source state root that defines custom template variables available to all templates during rendering.
.chezmoiexternal.toml
A declaration file in the source state that specifies remote files and archives to download and place in the target during chezmoi apply.
.chezmoiignore
A templated file in the source state that lists patterns of files chezmoi should not manage on the current machine, supporting conditional logic per hostname or OS.
.chezmoiremove
A file listing patterns of target files that chezmoi will actively delete from the home directory on every chezmoi apply.
.tmpl suffix
A filename suffix in the source state indicating the file contains Go template actions and should be rendered through the template engine before being written to the target.
C
chezmoi apply
The command that renders templates and pushes the source state into the target (home directory), executing scripts and downloading externals in the process.
chezmoi data
The merged dictionary of all template variables available during rendering, combining auto-detected machine info (.chezmoi.*) with custom data files and config values.
chezmoi re-add
A command that copies modified target files back into the source state, capturing changes made directly to home directory files outside the normal chezmoi edit workflow.
chezmoi update
A command that pulls the latest changes from the remote repository and applies them to the home directory in a single step (equivalent to git pull + chezmoi apply).
D
dot_ prefix
Chezmoi's source state naming convention where a leading dot_ in a filename maps to a leading . in the target path (e.g., dot_gitconfig becomes .gitconfig).
E
exact (external option)
An option in .chezmoiexternal.toml that ensures the target directory contains only what is in the archive, deleting any extra files on apply.
G
Go text/template
The templating engine chezmoi uses, where actions between {{ }} delimiters are evaluated and everything outside passes through as literal text.
K
keyring function
A Go template function ({{ keyring "service" "account" }}) that reads secrets from the system credential store (macOS Keychain, GNOME Keyring, or Windows Credentials Manager) at render time.
P
promptChoiceOnce
A template function used in .chezmoi.toml.tmpl that prompts the user to select from predefined options on first init and reuses the stored answer on subsequent runs.
R
refreshPeriod
An option in .chezmoiexternal.toml that sets a time-based cache duration for external downloads, preventing re-fetching on every apply.
run_once_ prefix
A script filename prefix indicating the script executes exactly once per machine, with chezmoi recording its completion in persistent state.
run_onchange_ prefix
A script filename prefix indicating the script re-executes only when the SHA-256 hash of its rendered content differs from the previously stored hash.
S
source state
The local git repository (at ~/.local/share/chezmoi/) where chezmoi stores templates, scripts, and data files that represent the desired configuration.
stripComponents
An option for archive-type externals that removes N leading directory levels from archive paths during extraction, analogous to tar --strip-components.
T
target state
The actual files in your home directory that chezmoi manages — the rendered output of templates and the destination for applied changes.
W
whitespace control ({{- / -}})
Template syntax using a dash inside delimiters to trim adjacent whitespace and newlines, producing clean rendered output without blank lines from control structures.