Linux-only is conceptually simple, but you may need Windows to cooperate with others.
Dual boot is a nuisance. You need to reboot too often.
VirtualBox is doable, but not too fast/responsive.
WSL is faster, but you still have to work around Windows.
Working remotely is nice if you have a remote Linux machine and a low-latency connection.
Glue layers may hide surprises. Set of calls may not be compatible.
We offer advice, but ‘support’ no configuration.
We teach C++, not systems administration.