I'm happy with my current setup, so I'd do the same thing again:
Mac or Windows, Desktop or Laptop?
Ubuntu desktop for me. I like having a lot of screen space, so I'd just save money by not getting a laptop. If I'm away from home, I'll just read some blogs, for which my phone suffices.
Would you use the same setup for work vs home?
Not for me, I only occasionally work from home. Also I use Windows at work.
How would you handle gaming? Would you have a separate rig for that?
I don't do gaming anymore. But if I restart someday, I'll probably do dualboot on the same machine (with the added advantage of making it hard to switch to gaming... don't want to get too addicted).
I would need a better GPU. My current PC is built for coding - the only reason it has a GPU at all is that I couldn't use two 2560x1440 screens without it.
If money was no object: max-spec OSX laptop for coding, max-spec Win10 laptop for gaming. More realistically I'd really get a conservatively priced OSX laptop and a just-off-bleeding-edge-spec Win10 desktop for gaming. I like my dev rig to be mobile but gaming can just happen at home.
If I could only buy one machine for everything including gaming, I would have to pick a Win10 machine with WSL for coding. There are a lot of crossovers in terms of specs - both dev and gaming like SSDs, plenty of RAM and CPU. It's just the GPU that needs extra investment for gaming.
The one approach I've not really tried is a linux machine. So if I was just planning to do development and money was tight, I'd consider giving that a go. There are a lot of relatively-cheap laptops that will happily run linux for dev purposes.
I've recently just changed up my laptop into a duel boot, lucky enough it came with amd chip and radeon card. It's not much but it had sure helped me for development its only temp until I save up for a beasty laptop.
But then again, just then other day I have a bug with my linux and it's made me think twice about develiping just on my laptop.. and maybe investing in a desktop high tower at least for main development just in case if things go crap again!
Even I have windows for gaming, I did try using windows for programming and I've found I just cant go back, I love my linux mint tessa xfe edition as its a lot more stripped down than cinnamon so even faster.
It's also given me some insight on how heavy some desktop programs really are.
I think for development is most important with a good kick ass processor and ram and a hd or ssd, but then If you want gaming you would be looking at almost twice the double and a good duel graphics card.
My situation is that I'll be self employed soon enough but using my main desktop as main development and then a touchscreen laptop for easy bits I think will work out for me 😊
Which games you looking to run?
For me, I would get a Macbook. That way I could use Safari to test web pages and XCode for iOS. Ubuntu is great, but as it cannot have Safari nor XCode, I would use virtualized Ubuntu and Windows on Mac, to have best of all worlds.
For gaming I'll have a console. Its just that much easier than getting a gaming PC and graphics quality is enough for me.