chezmoi

Dotfile manager that keeps a source state, previews changes with diff, and applies configuration across machines using templates.

chezmoi manages dotfiles across machines by keeping a source state separate from the files in your home directory. Add a configuration file with chezmoi add, change the managed copy with chezmoi edit, inspect the pending differences with chezmoi diff, then update the destination with chezmoi apply.

Templates let configuration vary between machines instead of requiring identical files everywhere. This suits people who share a configuration repository across systems with different hostnames, operating systems or local settings. Review the diff before applying changes to an existing setup. The quick-start guide explains the source-state workflow, and the machine differences guide covers templates.

Alternatives & related tools

add a badge to your README

Maintain chezmoi? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/chezmoi.svg)](https://www.trmn.sh/tools/chezmoi?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/chezmoi?utm_source=badge"><img src="https://www.trmn.sh/badge/chezmoi.svg" alt="Featured on trmn" height="20"></a>