Oh, this looks nice. I like the bit about maintaining different versions, which is something kind of annoying about maintaining different setups for my laptop and desktop
I just learned about stow, which as far as I understand, is a package that kinda manages the whole symlinking bit for you plus a few things? Honestly, I am not sure how it would differ exactly from what you're doing, but you should check out a short video on it: https://www.youtube.com/watch?v=y6XCebnB9gs&t=3