These are the files or folders that live your home directory that configure your applications. Some examples are: .bashrc
.config/
, .zshrc
, etc.
Because these are typically “plain text” files they can easily be stored in a git repository you can easily copy them between your different machines.
You can find my dotfiles at: HeyItsGilbert/dotfiles
Value of Dotfiles
Maintaing a dotfiles repository provides the following:
- Maintain a PDE.
- Automatically configure GitHub codespaces.
- Sync your environment across machines.
- Share your configs with others.
Managing Dotfiles
Most management is done by a set of tools that either copy or symlink your dotfiles.
Chezmoi
- OS:
- Site: https://www.chezmoi.io/
- GitHub: twpayne/chezmoi
I was first introduced chezmoi by Jaykul. Chezmoi works by creating a clone of your dotfile in the AppData directory. Then a chezmoi
command sync what’s in your home directory to that repo. It also supports doing other things like running scripts as part of the sync process.
GNU Stow
- OS:
- Site: https://www.gnu.org/software/stow/
This is a “symlink farm manager”. Not available on Windows.