This repository is mostly an implementation of The best way to store your dotfiles: A bare Git repository.
The only caveat is, that it uses Git submodules in some places, so the initial cloning should be done this way.
$ git clone --bare https://github.com/punycode/dotfiles.git $HOME/.dotfiles $ alias config='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' $ config submodule init $ config submodule update $ config checkout