One of the biggest problems with dev environments is maintenance just like documentation. As a dev, when I am working on my local environment, if something breaks, I usually end up finding some hack to fix it and move on with my feature/assigned task. Most devs leave it to the "new guy" who is onboarding.
I also think having templates as code might be a way to alleviate that issue to certain extent.