One possible model to explore here is to have a Linux and macOS server running somewhere, and then have a 'thin client' to work with them remotely.
For e.g., use a Surface Pro along with VSCode+Tailscale to work on complex projects.
The only downside is the reliance on strong internet connection.
- In low-speed/latency network situations, we can resurrect one of those machines (say, a Macbook Pro hitherto acting as server) for client-side use.
- Servers