Remix.run Logo
jbstack 2 days ago

I do something similar. I have a base NixOS image in Incus, with whatever tools apply to every project (e.g. Git, OpenCode) already installed. When I work on a project, I spin up a VM instance, use nix shell to add any project-specific tools, then share only the project folder from the host to the guest. This way, the worst the agent can do is destroy my project folder, and I can always restore that from another clone of the repo.

I know a lot of people are using containers for sandboxing, but given how capable the latest models have shown themselves to be for breaking out of sandboxes, I prefer the extra isolation of VMs for this.

I do all this locally - it's an interesting point to able to turn the laptop off but keep the agents running. I might consider running some of these on my homelab server just for that.

walrus01 2 days ago | parent [-]

My setup is basically, the 'runs harnesses' VM is accessible by ssh (of course) but it also has an xfce4/xorg desktop environment running on it. I can easily form an ssh tunnel to it and then use tigervnc on my workstation laptop.

The VNC session is sized to be exactly pixel 1:1 match of my laptop screen size, so I run it as fullscreen and use the macos hot-corner functionality or multi-desktop session switch hotkeys to toggle between it and my 'real' laptop/bare metal workstation.

Having a GUI on the thing lets me leave all kinds of things running persistently in the background that might be bothersome if interrupted running on my laptop. It also has much higher average speed/reliability 24x7 internet access via my home broadband connection than wherever I might happen to be with my laptop.

The main hassle that I've found is that I have to mentally train myself to remember that a lot of the keyboard shortcuts in a boring stock xfce4 desktop environment (and other applications I can run with gnome and kde libraries installed) are quite different than MacOS, when toggling back and forth between the two.

NitpickLawyer 2 days ago | parent [-]

> Having a GUI on the thing lets me leave all kinds of things running persistently in the background that might be bothersome if interrupted running on my laptop.

Unless you actually need GUIs, you could just use screen/tmux or the newer versions like zellij/etc.

walrus01 2 days ago | parent [-]

I use screen extensively, the GUI is for leaving things like QGIS running full screen (which is sure not going to work in a TUI). Both CLI environment and GUI get used.