Skip to main content
General questions about chezmoi, from getting started to contributing to the project.
chezmoi is a dotfile manager that helps you manage your personal configuration files (dotfiles) across multiple machines. It stores your dotfiles in a version control repository and provides features like:
  • Templates for machine-specific configurations
  • Encryption for sensitive data
  • Cross-platform support (Linux, macOS, Windows, BSD)
  • Password manager integration
  • Scripts to automate setup tasks
Unlike other dotfile managers that use symlinks, chezmoi generates regular files in their final location, enabling more advanced features.
If your question isn’t answered in the documentation, you have several options:The community is friendly and responsive!
Thank you! chezmoi was created to solve a personal need, and it’s wonderful that it’s useful to you. Here are ways to show your support:Give chezmoi a star:Share your dotfiles:
  • If you have a public dotfiles repository, tag it with chezmoi
  • This helps others discover chezmoi and see real-world examples
Write or present about chezmoi:
  • Written an article or blog post? Let us know
  • Given a talk or presentation? We’d love to add it to our videos page
  • Created a podcast episode? Share it for our podcasts page
Contribute:
  • Contributions are very welcome - code, docs, bug reports, and feature requests all help make chezmoi better
  • Every contribution, no matter how small, is appreciated!
chezmoi was created by Tom Payne to manage his personal dotfiles across multiple machines. The name “chezmoi” comes from the French “chez moi” (pronounced shay-mwa), meaning “at my house” or “at my place.”The project was inspired by Puppet but designed specifically for personal dotfile management rather than full system configuration. The goal was to create a tool that:
  • Works without root access
  • Runs on any platform
  • Has minimal dependencies (single binary)
  • Provides advanced features like templates and encryption
Yes! chezmoi is completely free and open source, licensed under the MIT License. You can:
  • Use it for personal or commercial purposes
  • Modify it to suit your needs
  • Distribute it freely
  • View the source code on GitHub
The project welcomes contributions from the community.
“chezmoi” comes from the French phrase “chez moi” (pronounced /ʃeˈmwa/ or shay-mwa), which means “at my house” or “at my place.”Why this name?
  • It’s fitting for a tool that manages your personal environment
  • At 7 letters, it’s short enough for occasional use but not so short that you need an alias
Want a shorter command? Add an alias to your shell configuration:
alias cz=chezmoi
Then use cz apply, cz edit, etc.
chezmoi differs from other dotfile managers in several key ways:vs. Symlink-based managers (GNU Stow, rcm):
  • chezmoi creates regular files, not symlinks
  • Enables templates, encryption, and per-machine customization
  • Works better on Windows (no symlink permission issues)
vs. Bare git repos:
  • Separate source directory keeps your home directory clean
  • Built-in diff and apply workflow
  • Template and encryption support
vs. Configuration management (Ansible, Chef, Puppet):
  • Single binary with no dependencies
  • Doesn’t require root access
  • Focused on personal dotfiles, not system configuration
  • Much simpler to learn and use
See the migration guide for detailed comparisons.
Yes! You can migrate from any dotfile setup:From symlink-based managers:
chezmoi add --follow ~/.bashrc ~/.zshrc
From existing dotfiles in your home directory:
chezmoi add ~/.bashrc ~/.zshrc ~/.gitconfig
chezmoi add ~/.config/nvim
From a bare git repository:
# List tracked files and add them
config ls-tree --full-tree -r --name-only HEAD | xargs -I {} chezmoi add ~/{}
See the migration guide for detailed instructions.
Yes! chezmoi has full Windows support:
  • Native Windows binary available
  • Works in PowerShell, Command Prompt, and Windows Terminal
  • Supports Windows Subsystem for Linux (WSL)
  • Handles Windows-specific file permissions
Install on Windows:
# Using winget
winget install twpayne.chezmoi

# Using Scoop
scoop install chezmoi

# Using Chocolatey
choco install chezmoi
Absolutely! chezmoi is designed to be safe and reversible:Preview changes before applying:
chezmoi init
chezmoi add ~/.bashrc
chezmoi diff  # See what would change
Remove chezmoi completely:
# Remove source directory
rm -rf ~/.local/share/chezmoi

# Remove config
rm -rf ~/.config/chezmoi

# Uninstall binary (depends on installation method)
Your actual dotfiles are never modified until you run chezmoi apply, and even then you can review changes with chezmoi diff first.
The update method depends on how you installed chezmoi:Homebrew (macOS/Linux):
brew upgrade chezmoi
apt (Debian/Ubuntu):
sudo apt update && sudo apt upgrade chezmoi
pacman (Arch Linux):
sudo pacman -Syu chezmoi
winget (Windows):
winget upgrade twpayne.chezmoi
Script installation:
sh -c "$(curl -fsLS get.chezmoi.io)" -- -b ~/.local/bin
There are many public dotfile repositories using chezmoi:GitHub Topics:
  • Browse repositories tagged with chezmoi
  • Sort by recently updated to see active configurations
Official Resources:Learning tips:
  • Look for repositories with similar setups to yours
  • Check how others handle machine-specific configurations
  • See examples of password manager integration
  • Learn from script usage patterns
Yes! The chezmoi community is active and welcoming:GitHub:
  • Discussions - Ask questions and share tips
  • Issues - Report bugs and request features
Articles and Videos:Contributing:

Build docs developers (and LLMs) love