* 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