Buy a used a machine if possible and then go for a model with an i7 and lots of ram.
Screen is going to be a major consideration. I can't stand 13" screens since my eyesight is not good. Another thing to consider is the keyboard. I used Apple keyboards for decades and even after 6 months on a windows machine, I still can't stand that window's button.
As for the OS, some laptops can manage being used as a hackintosh. Or you could do virtual box with whatever OS.
You don't need the fastest and greatest for developing but you do need is a solid CPU and ram.
The last thing to consider is resale value. Anything not Apple just don't keep their value.
The OS should be what works for you. I like OSX and I get things done. Linux for me is ok but it does help with learning how to deal with servers. Windows is good if you need to learn IIS.