Chezmoi is an open-source command-line tool for managing your personal “dotfiles” and configuration files across multiple machines.
Setup
- Install Chezmoi.
# windows
winget install twpayne.chezmoi
# arch
paru -S chezmoi
# ubuntu
snap install chezmoi --classic
# mac
brew install chezmoi
- Initialize a repository.
Import Repository
chezmoi init git@github.com:<github-username>/dotfiles.git
chezmoi -v apply
# ex. my dot files
chezmoi init git@gitea.nodusk.me:jay/dotfiles.git
Start New Repository
chezmoi init
cd ~/.local/share/chezmoi
git init
git add .
git commit -m ""
git remote add origin git@github.com:<github-username>/dotfiles.git
git push -u origin main
Usage
- default directory:
~/.local/share/chezmoi
# chezmoi commands (reference)
chezmoi add <path> # add new directory or file
chezmoi edit <path> # edit file (or just edit some other way)
chezmoi diff # view changes
chezmoi -v apply # print log and apply changes
chezmoi -v -n apply # print log
chezmoi init <git-url> # initialize dotfiles from git
chezmoi merge <file> # merge conflicts from local and remote
chezmoi update -v # pull and apply changes from remote repo
Examples
hyprlock
hyprpanel
https://github.com/peekpt/dotfiles
https://www.reddit.com/r/unixporn/comments/1hovo71/hyprland_tokyo_night_using_hyprpanel/#lightbox
waybar
https://github.com/ad1822/hyprdots
https://github.com/SeniorMatt/Mattthew-s-Dotfiles
https://github.com/theCode-Breaker/riverwm?tab=readme-ov-file
https://github.com/P-ti-bob/hyprland?tab=readme-ov-file
https://www.reddit.com/r/hyprland/comments/1k5nz8t/black_white_with_a_little_live_wallpaper/
ewww bar
applications
discord and manga
https://github.com/maotseantonio/shizuru?tab=readme-ov-file
pywal
https://github.com/niksingh710/gdots
https://github.com/elifouts/Dotfiles?tab=readme-ov-file
https://www.reddit.com/r/unixporn/comments/145xyh6/hyprland_pywal_is_insane/#lightbox
https://github.com/shell-ninja/hyprconf
sway
grub
interesting light mode
https://www.reddit.com/r/unixporn/comments/scfa0x/awesomewm_trying_something_different/#lightbox
https://www.reddit.com/r/unixporn/comments/yyp6jd/gnome_i_use_arch_in_distrobox_btw/#lightbox
https://www.reddit.com/r/unixporn/comments/q941ym/awesomewm_life_problems/
macos
https://www.reddit.com/r/unixporn/comments/1g4y8ne/amethyst_my_first_attempt_at_ricing_macos/#lightbox
https://www.reddit.com/r/unixporn/comments/jupmda/aquayabai_a_fun_colorful_rice_to_brighten_my/
qtile
fetch
Replace ls with eza
alias ls='eza -al --color=always --group-directories-first --git --icons --no-user --no-time --no-permissions' # preferred listing
alias la='eza -a --color=always --group-directories-first --git --icons --no-user --no-time --no-permissions' # all files and dirs
alias ll='eza -l --color=always --group-directories-first --git --icons --no-user --no-time --no-permissions' # long format
alias lt='eza -aT --color=always --group-directories-first --git --icons --no-user --no-time --no-permissions' # tree listing