Besides the obvious per package requirements, the main thing you need is either GNU Stow or XStow.
$ git clone https://github.com/mtomwing/dotfiles.git ~/dotfiles
$ cd ~/dotfiles
$ stow <package name>
- Initialize and update any git submodules
$ git submodule init
$ git submodule update
- Create necessary VIM folders
$ mkdir -p ~/.vim/{backups,swaps,undo}