chezmoi: Manage your dotfiles across multiple diverse machines, securely.

What does chezmoi do and why should I use it?

chezmoi helps you manage your personal configuration files (dotfiles, like ~/.gitconfig) across multiple machines.

chezmoi is helpful if you have spent time customizing the tools you use (e.g. shells, editors, and version control systems) and want to keep machines running different accounts (e.g. home and work) and/or different operating systems (e.g. Linux, macOS, and Windows) in sync, while still being able to easily cope with differences from machine to machine.

chezmoi scales from the trivial (e.g. copying a few dotfiles onto a Raspberry Pi, development container, or virtual machine) to complex long-lived multi-machine development environments (e.g. keeping any number of home and work, Linux, macOS, and Windows machines in sync). In all cases you only need to maintain a single source of truth (a single branch in git) and getting started only requires adding a single binary to your machine (which you can do with curlwget, or scp).

chezmoi has strong support for security, allowing you to manage secrets (e.g. passwords, access tokens, and private keys) securely and seamlessly using a password manager and/or encrypt whole files with your favorite encryption tool.

If you do not personalize your configuration or only ever use a single operating system with a single account and none of your dotfiles contain secrets then you don’t need chezmoi. Otherwise, read on…

How do I start with chezmoi now?

Install chezmoi then read the quick start guide. The how-to guide covers most common tasks, and there’s both documentation on templating and frequently asked questions for specific questions. You can browse other people’s dotfiles that use chezmoi on GitHub and dotfiles that use chezmoi on GitLab, and see how chezmoi compares to other dotfile managers. For a full description of chezmoi, consult the reference.