Are you tired of having to reset all your app settings on a new install? Using a simple tool you will never have to reconfig your app settings again. Also adding new apps and programs are extremely simple and intuitive. Stop wasting your time and start using Chezmoi to restore your app settings. This isn’t meant to be a system backup but a settings backup.
Chezmoi offers the most simplistic approach and versioning that is simply is my preferred solution over the other dot file tools below. Here is a brief diagram of how it works. Note: I do not use git from command line in my tutorial for commits and pushes
First we install Chezmoi to the /bin folder. I recommend system wide below but you can also do the install to
~/.local/bin if you only want to install for current user
su cd / sh -c "$(curl -fsLS chezmoi.io/get)" exit
cd ~/.local sh -c "$(curl -fsLS chezmoi.io/get)"
Note: Most systems have ~/.local/bin, however a few do not
First Setup a new repository for your config files on GitHub
I called mine “dotfiles” https://github.com/ChrisTitusTech/dotfiles
We now simply initialize chezmoi with that new GitHub repository
chezmoi init https://github.com/ChrisTitusTech/dotfiles
chezmoi uses a git based aliases to add files and merge them. To add something to your dotconfigs you’d simply do this command as an example:
chezmoi add .bashrc
This copies the file to the working directory ~/.local/share/chezmoi and allows it to be a part of your repository. Just like the name suggests, the working directory is where you should be doing all your edits once they are added.
Once you edit your file you need to “apply” it back to its home so they are used with
What happens if you edit the “original” file in the home directory? simply merge that change with the working directory with
chezmoi merge filename
Now you are done for the day and you want to submit the changes to the remote repo so you can apply these changes to your other computers. You simply change directory to chezmoi with
chezmoi cd or
cd ~/.local/share/chezmoi and
git add files ->
git commit -m "initial commit" ->
git push in the command line. However, I really like the desktop application GitHub desktop and prefer to add the ~/.local/share/chezmoi directory to it and do the add, commit, and push in that GUI GitHub Directory shown below.