I program and did program anywhere; unlike OP, I thrive in (human) noise: if it's quiet, I cannot focus, so working at home with multi monitor setups etc works against me (music doesn't help: not random enough and I cannot talk to people when I feel the need). I prefer subways, busses, airplanes, lounges, coffeeshops, pubs etc. Offices strangely do not work as I already know those people so I get bored and creativity plummets. My setup now is the best I had ever: a rugged android tablet with week-long battery, running termux with full desktop linux (not rooted) which can run all I want. I run several llms offline on it as well to fix the workflow when I don't have my nice foldable full keyboard out (if no space). I can run everything in our framework, online and offline; when I come back online, I just sync (code AND data) and voila.