Stow is a great tool for managing dotfiles. My usage looks like cloning my dotfiles to my home directory, setting some environment variables via a script, then stowing relevant packages and boom my config is good to go...
cd ~
git clone <my dotfiles repo>
cd dotfiles
# env variable stuff ignored here
stow zsh # This will symlink my .zshrc file which is in ~/dotfiles/zsh to ~/.zshrc
~/dotfiles
and the package is zsh
.
So the files in the zsh
package will symlinked into ~/
.
stow
makes it easy to share dotfiles across machines, or safely experiment with config changes while always being protected by git
since your dotfiles are in a git repo!
...They are in a git repo... right?