Have you tried Nix[1]? The learning curve was a bit steep for me, but I think I finally started "getting" it and it absolutely solves this problem for me. Now I'm at the point where if I install Nix on any computer, VM, whatever, I can just pull in my configs via home manager[2] and everything Just Works. It's seriously one of the best package managers I've ever used, and I can't imagine going back to anything else. Windows support is only via WSL, so this might be a non-starter for you.
I like the idea, is there anything in this space already?
I'm imagining a GUI where you select from a list of items like "Python Development", ".NET Development" etc, and it somehow pushes out that configuration to your machine(s).
Not sure how many people would be willing to pay for it though?
I have an ansible playbook that I can run to add/remove things, set configs etc
My dotfiles has a script called 'update-machine' that pulls the latest playbook, and runs it. I can go from a blank machine to having everything I need in 10 mins or so.
Solutions like gitpod or Github Codespace are going exactly in that direction. Sure, they are not on your machine. But thats exactly why they can make it reproducible, no side effects with other installed software or configurations.
I dev on windows, osx, and Ubuntu.
So far I've written a go CLI that is able to bootstrap some stuff for a fresh computer, and tell me what I'm missing.