Each vpn will have its own dns and subnets. You might reduce context switching by setting those at your firewall or router instead of dev box. I do this for projects with multiple dev boxes, any hardware or server project will have more than one machine that might need to cross their vpn.
Combining several layers of vpn is tedious. For dns, I’ve needed my own local dns server to forward different domains for different clients. The stock dns server on consumer firewall routers often won’t do domain-level forwarding well.
And most of the languages I use are in the OS's package manager. Setup is "apt-get/brew install ..." followed by "hg clone ..." for my plugins and settings.
So, direct answer would be "a few minutes."