don't go expensive, a 500-700$ laptop is perfect for programming. don't buy thin, mac-like laptops. go with beefier workstation laptops. I highly suggest buying a good refurbished laptop.
if it has a dedicated GPU, AMD is highly preferable over NVIDIA, but both work.
almost all hardware works really fine with linux nowadays. I have a lenovo legion y540, works great, but if I didn't want to game on it, I would go with a workstation laptop.
slimbook seems to make good laptops made for linux.
Alacritty + tmux OR urxvt