Now just add the section about uploading it to your GitHub so all new servers get setup with a simple git clone, and any new changes can be propogated around with push/pull.
git clone https://github.com/me/my-dotfile-repo
cd my-dotfile-repo
stow --target=$HOME zsh
stow --target=$HOME vim
...
Elegant, cross-platform, easy to remember.[0]: http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to...
Replace copies with links and you are golden. Yeah, you can write a simple script to create those links for you, but Stow seems pretty full featured.
2) By using copies instead of symlinks you'll need to run your script Everytime you make changes and be careful to edit only your clone instead of the target location.
I keep my dotfiles repo on a vps where I manage the repos with gitosis.