My haphazard collection of dotfiles. http://sdt.github.com/.dotfiles/ The dotfiles themselves all lives in a .dotfiles subdirectory, to avoid my whole home directory tree being a git repo. There's three basic strategies to get various programs to use a dotfile outside the usual place. In order of preference, they are: 1. ~/.programrc includes ~/.dotfiles/programrc This of course requires the dotfile have some kind of include mechanism. 2. Environment variable: PROGRAM_CONFIG=~/.dotfiles/programrc 3. Shell alias: alias program='program --config-file=~/.dotfiles/programrc' The included install.sh takes care of setting up the first form. It tries to be idempotent, but should not be fully trusted. The other forms are set up in bashrc.