ChezMoi ~/๐ก
chezmoi helps you manage your personal configuration files (dotfiles, like
~/.gitconfig) across multiple machines. - my dotfiles
Mainly act as wrapper around git and the management of a special repo dedicated to .config files. All regular git command are available when steping inside the chezmoi repo which is accessible with chezmoi cd.
- A dedicated dotfile manager with features for templating, encryption, multi-host config, and more.
- Designed specifically for managing personal config across machines.
- Maintains a source state (a repo you version control) and applies that safely to your home directory.
see also
# Sync Files โฎบ
Donโt forget to do chezmoi update so that edit done directly file in chezmoi repo are taken into account
# local -> repo
# all diff
$ chezmoi diff
# add one file
$ chezmoi add ~/.config/nvim/init.lua
# all files at once
$ chezmoi managed | xargs chezmoi add
# repo -> local
$ chezmoi update
# or
$ chez moi apply --dry-run
$ chez moi apply
# Install ๐ฅ
For bootstrapping use apt otherwise nix is available
$ apt-get install chezmoi
or
$ sh -c "$(curl -fsLS get.chezmoi.io)" -- -b $HOME/.local/bin
$ nix profile add nixpkgs#chezmoi# Quickstart
$ chezmoi init
$ chezmoi add ~/.bashrc
$ chezmoi -v apply# Git Sync
Leverage a git repo to synchronize everything Create a dotfile repo on github and attach it to chezmoi
$ chezmoi cd
$ git remote add origin git@github.com:yduf/dotfiles.git
# and push# Multi-Host
Use the Git repo to share and synchronize these config accross multiple computers. Reference the repo when setting up the new computer.
$ chezmoi init git@github.com:yduf/dotfiles.git
$ chezmoi diff
$ chezmoi apply -v
$ chezmoi update# see also
# GNU Stow ๐
- A symlink farm manager (not dotfiles-specific).
- Manages sets of files by placing them in separate directories and symlinking them into a target directory.
- Great for organizing local configuration, packages, or any grouped files using symlinks.
How To ACTUALLY Manage Dotfiles with Stow - Full Guide + Git Workflow