What problem does it solve?
chezmoi provides a safe, source-driven workflow to manage dotfiles across machines by treating the repository as the single source of truth and applying changes to the home directory in a predictable, auditable manner.
Core Features & Use Cases
- Source-driven management: treat the repository as the definitive origin of all configuration and apply changes to the target home directory with chezmoi apply.
- Prefix conventions and templates: understand dot_ / exact_ / private_ / executable_ / symlink_ / empty_ / remove_ prefixes, Go templates ('.tmpl'), and how they map to target paths.
- Lifecycle scripts and external resources: leverage
.chezmoiscripts/ for pre/post actions and .chezmoiexternal.yaml for fetched resources, enabling reproducible setups and migrations.
- Safe deletion and exactness: use
exact_ directories to explicitly own a configuration subtree and manage removals via targeted files.
- Cross-host consistency: use with and without
.chezmoiscripts to apply same configuration across multiple machines.
Quick Start
Edit your dotfiles in the repository and run chezmoi apply to sync them to your home directory.