Why not VMs? With the kind of computers dev have, I'd think it be trivial to have a VM dedicated to one project (unless you're doing gpu). This means I don't have tooling associated to projects (databases, webserver) populating the main env, only personal stuff.