A simple way to keep and use your dotfiles
Reinstalling a system is usually boring and time-consuming. Why not speed it up?
We can do it by keeping our Dot Files organzied and ready.
Dot Files
But what are Dot Files?
Dot Files (we’re calling them from now on “dotfiles”) are files on Unix-like systems whose names (usually) start with a period, used to keep configurations.
Common examples include:
.bashrc– settings for the Bash shell..zshrc– settings for the Zsh shell..gitconfig– personal Git configuration (username, email, aliases).
Why care? If we back them up, we can easily transfer our settings to a new machine.
Note that those can also be folders such as .ssh.
Eget
Some softwares are distributed as releases on their github pages. We can grab the one by one or use eget to grab them for us.
Eget is a little program that goes to the github page, downloads the binary, and place them inside the bin folder of our system.
I use the following eget.toml configuration file:
[global]target = "~/.local/bin"upgrade_only = trueI keep an eget.txt file and install them one by one by running:
eget <git_user/repo_name>I usually do this one by one. Why? I want to make sure the software I am installing is still relevant to me.
Package Managers
Some other programs are only installed via package managers.
For those, I keep a <package-manager.txt> file, and then install them one by one.
Some example of package managers include:
aptfor Debian-based systems.homebrewfor macOSpacmanfor Arch
Symbolic Links
I keep a github repository with all my dotfiles inside.
I usually export the dots folder using:
export DOTS_PATH="${HOME}/repos/dots"Then, I create symbolic links from the proper dotfile location to the ones inside the repository:
ln -s ${DOTS_PATH}/.bashrc ${HOME}I also add symlinks one by one, for the same reason as before.
Keep a README.md
This one is self-explanatory.
Help our future self out by keeping a README.md so that we know what we did.