As we move into a world where many of us developers will be splitting our time more frequently between working from home and working in the office, I'm wondering what other people would consider the ideal development setup. A good setup should allow you to be equally productive at home vs on-site (all else being equal). Here are some options we have considered:
* Laptop - easy to transport between home and work, but tend to be expensive and under-powered. Modern laptops make it easy to connect power, HDMI (to an external monitor) and ethernet through a single USB-C cable.
* Mini PC (e.g. [1]) - relatively easy to transport between home and work but has to be shutdown when transporting between work and home.
* Desktop at the office + remote access - as much power as you need from a desktop, but remote access can sometimes be less than ideal. Also depends on developers having their own hardware at home.
* Desktop at the office + local development environment at home - all the benefits of a local development setup but increases the risk of security breaches (i.e. a developer's home PC is more likely to be hit by viruses).
Are there any other setups that you would suggest? What are the various advantages and disadvantages that you can think of for each setup?
[1] https://www.scan.co.uk/products/asus-barebone-mini-pc-pn50-bbr050md-amd-ryzen-7-4800u-ddr4-displayport-14-ax-wifi-gbe-m2-pcie-25-sat