I just noticed that Microsoft has a project to help setup a dev box:
“The goal of this project is to provide a central place to share ideas for streamlining dev box setup and provide sample scripts for common dev scenarios. It’s likely you will want to take the scripts here and modify them to fit your particular needs.”
https://github.com/Microsoft/windows-dev-box-setup-scripts
For the last few years, they’ve been releasing Windows as a prebuilt VM, with most of the developer tools preinstalled. These VMs expire after a few weeks, so you’ll have to download a new VM every few weeks. [There’ve been periods of multiple weeks where there’s no VM available, waiting for the next build of Windows, so keep your old bits and hope expiration policy does not become more draconian.]
https://developer.microsoft.com/en-us/windows/downloads/virtual-machines
FLARE-VM is a nice script from Fireeye that sets up a Windows box with lots of security tools. Requires a fresh Windows install before use.
https://github.com/fireeye/flare-vm
https://www.fireeye.com/blog/threat-research/2018/11/flare-vm-update.html
Fireeye also has Commando-VM:
https://github.com/fireeye/commando-vm
Half a dozen open source projects (and an unknown number of closed source products) have nice scripts to setup a Windows system for development, but are project-centric.