The only thing that bugs me is that I haven't figured out an elegant way to have some configs include machine specific configs. For example a set of bash aliases that I only use at work but don't want at home.
My best idea is to source all files in, say ~/.bashrc.d and put machine specific configs in there... Haven't tried it out yet.