I also love coding on Linux, but there are shortcomings. Not enough to make me prefer Windows, but enough to make me wish for something better.

Generally, Windows has better GUI-based tools. The big one being debuggers, I really miss debugging in Visual Studio (C++). But more generally, Windows tends to have a better selection of IDEs, database editors, version control GUIs, etc...

I love command lines and text editors, maybe that's the reason why I prefer Linux, but sometimes, GUIs are useful.

I don't know how the experience on OSX is. It never struck me as a particularly developer friendly platform but I may be wrong. It has a proper Unix shell, so it shouldn't be that bad.

If Windows is a good GUI, how do I reliably swap caps lock and control?

Assuming you really want to know, try SharpKeys.

https://sharpkeys.en.softonic.com/ looks so scammy, and I have ublock turned on... I can only imagine how it must look without that. I'm sure it's fine but why do all windows tool s always get hosted on the most scam looking websites?

When I'm stuck on windows I use https://docs.microsoft.com/en-us/sysinternals/downloads/ctrl...

Of course adding setxkbmap -option ctrl:nocaps to ~/.xinitrc seems way easier to me. But I'm probably in the minority.

That Softonic site is probably totally unrelated to the original developer. This is the legit site: https://www.randyrants.com/software/

It's also on GitHub: https://github.com/randyrants/sharpkeys