Skip to content

Autostart both sandbox VMs under Tart on softnet - #192

Draft
samestep wants to merge 1 commit into
mainfrom
tart-vm-autostart
Draft

Autostart both sandbox VMs under Tart on softnet#192
samestep wants to merge 1 commit into
mainfrom
tart-vm-autostart

Conversation

@samestep

@samestep samestep commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Complementary to #191.

Two VMs on the same Mac can't reach each other directly — Lima (vzNAT) and Tart
(default NAT) each put their guest behind Apple's per-VM NAT, which enables
vmnet bridge isolation and blocks cross-VM traffic, and their non-isolating
modes (socket_vmnet, softnet) build separate bridges, so a Lima guest and a Tart
guest can't share one. So Tailscale relays their traffic through a DERP server
instead of taking the local path.

Run both VMs under Tart on softnet with `--net-softnet-allow=0.0.0.0/0`, which
drops isolation and lands them on one shared vmnet (192.168.2.0/24); verified two
softnet VMs reach each other directly at ~0.5 ms, so Tailscale connects them
directly. This moves the aarch64-linux VM off Lima onto Tart.

- Add `pkgs.softnet` and LaunchAgents that `tart run --net-softnet
  --net-softnet-allow=0.0.0.0/0` each VM.
- README documents the migration, the one-time setuid-root softnet install (Home
  Manager can't set setuid), and the caveat that the agents start VMs at login
  (Virtualization.framework needs a GUI session), not at boot.

The autostart is unproven — Tart + launchd is new here, and some startup/shutdown
pain is macOS-intrinsic (the same session/DHCP-lease issues Lima had).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Wku9K54eBg5KJnXDfpvkQ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant