Earlier quoted context omitted.
Why would I restrict myself to Linux if the tooling I prefer is only available on Mac? I guess if my entire workflow was terminal based then Linux would make sense but I'm more productive with Intellij, Kaleidoscope, Tower Git, iTerm, and my iTunes library of music. A vm running centOs and using docker let's me use my favorite tools and still leverage Linux as a deployment environment, how does that not make sense?
Then run Mac in a VM on Linux. IntelliJ, Git, and music-listening developr here. On GNU/Linux. It does not make sense because you stop yourself from knowin the inner workings of what you are targeting in your development efforts - eat your own poison so to say - CentOS - run CentOS. How hard can that be?
B. Tower, Kaleidoscope. iTerm, and XCode are all Mac only
C. How in Earth do you draw the conclusion that I've stopped myself from knowing anything? I am running CentOS, in the VM. I'm extremely familiar with the inner workings of Linux. If I'm running in a VM or as the main OS has no bearing on how much I know about my deployment target. It's still the same steps to setup a deployment target VM or on my actual laptop. In fact in the case of AWS you could argue that a VM is much closer to my deployment prod servers than laptop hardware would be.