1. Use Chocolatey (winget is still new). You can setup everything via it, and I mean everything - node, postgre, docker, vscode, all browsers, selenium and drivers etc.
2. Learn Powershell, but learn it really good. Adopt PowerShell build system Invoke-Build
3. Install better terminal - ConEmu or Windows terminal
4. Enrich Windows using FOSS and cross platform tools: choco install copyq, flameshot, less, fzf, paint.net, git, tortoisegit, winscp, kitty, screentogif, sysinternals, wiztree, gsudo, lockhunter, signal, viber, slack
5. Disable Windows Defender and use some debloater (controversial, but I do it, and system is at least x2-x5 faster). I use https://github.com/W4RH4WK/Debloat-Windows-10 along with ShutUp10 tool.
6. Install the best search engine in the world: cinst everything
Enjoy, its awesome.
Having said that I've had so many sleep/power management problems with Windows with my new ThinkPad that I nearly just switched back to Fedora before finding a configuration that more or less seems to work.
Services (NGINX, MariaDB, PHP/PHP-FPM, etc.) are within Arch.
Project files are in Windows, mounted as an NFS share within Arch.
Editing and committing files mostly from Windows, Atom and git configured for LF.
Executing tasks, Bash scripts and such, from Arch via SSH.
I tend to duplicate tasks in Batch or Powershell for cross-compatibility.
And use the same structure for Electron builds on the Windows side with WIX.
Only complaint is VM performance.
I'll probably swap to a bare-metal Linux machine, using the same approach, soon.
Just make sure that your actual code/project files are also inside of your WSL (https://dev.to/ajeet/so-you-have-installed-windows-subsystem...)
There's a thing called WSL Bridge that VS Code hooks into, or uses somehow in order to run VS Code in Windows, but it is accessing and running code that's inside the WSL.
I used various terminal programs but the most recent one I used was Windows Terminal: https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk...
This alleviated many issues I had and I ended up getting my whole team onboard with the same setup.
We were running Angular apps, and also vanilla JS stuff with Bootstrap, Gulp, Webpack, Live Server.
wsl2 gives you linux vm running in hyper-v alongside windows.. the vm pretty much has direct hardware access and is fast. From here, you can install linux based git, rsync, etc ... and the vm has full access to the windows filesystem.
vscode has a nice wsl extension which runs in client/server mode with server living in the linux vm and client on windows.
wsltty is closest feeling simple terminal, with translucency, etc.
... with this setup, i got rid of cygwin, vagrant, virtualbox, etc.
latest PowerShell, Windows Terminal, WinMerge, Notepad++, ToirtoiseGit/SVN, Paint.NET.
Office, FF, Chrome, EdgeChrome.
Everything else is project specific.
But my biggest gripe is not having tmux. There are some window/tab/pane management shortcuts in Windows Terminal but they're not as good as tmux (yet).