I work (full time-ish) freelance for 3 to 12 months at a time. I upload my work in git, and save my data in Dropbox. After each project I make sure everything I need is in the cloud, and clear the hard-drive and do a clean re-install of the OS (Linux; last 3 installations were regular Ubuntu, Manjaro, and currently on Xubuntu). I switch between hardwares a lot (sometimes I even use an Intel NUC with an i5 + good SSD + enough RAM, which can be really fast on a light-weight Linux). So I'm less dependent on the hardware and I get faster at setting up what I need. Last time I needed about 1,5 hours to re-install a new Linux distro, setup my ssh keys and get the programs I need to be 98% productive again.
I feel none of the OSes (e.g. Mac OS, Windows, Linux... Linuces?) always "just work". After some time of usage, they seem to always break down somewhere. I try to reduce the risk of failure by having exchangeable hardware + software, a re-installation routine and online-synced data.
Add a nice mechanical keyboard and a decent mouse that fits your hand - and you gain control of your computer and have more freedom in your choices.
I had macs for five years, I ended up getting this alienware half off (which is why I bought it, never would have otherwise), and I'll never go back to mac. Completely overrated. Again, linux command line on a windows laptop is amazing. Really surprised it hasnt caught on more yet with developers. Also google colab and anything cloud can be really annoying for ML experiements. Its cheaper to hack things together all day on your laptop and only move to the cloud when you need to.