Skip to content

CellOS Lab On OrbStack

OrbStack can run a NixOS Linux machine on macOS. That is useful for CellOS userland work: cell-agent, Docker/Moby prerequisites, workspace directories, checkout initialization, and devcontainer lifecycle commands.

It is not production validation for Firecracker. On Apple Silicon this path does not validate KVM, TAP networking, virtio-vsock, jailer behavior, kernel/initrd boot, Firecracker process launch, or snapshot semantics.

  • NixOS CellOS module composition
  • cell-agent package wiring
  • Docker/Moby userland availability
  • workspace and log directory shape
  • GuestService.InitializeWorkspace request shape
  • devcontainer execution-plan rendering
Terminal window
nix flake check --extra-experimental-features 'nix-command flakes' --allow-import-from-derivation

The flake includes an orbstack-cellos-lab NixOS configuration for evaluation. Build/apply commands depend on the OrbStack NixOS machine setup.

  1. Create a NixOS machine in OrbStack.
  2. Enable flakes inside that machine if needed.
  3. Build or apply the nix/hosts/orbstack-cellos-lab configuration.
  4. Run cell-agent.
  5. Render a workspace execution plan on the host.
  6. POST that plan to the lab cell-agent endpoint.
Terminal window
scripts/cellos-lab-smoke.sh examples/workspaces/devcontainer-execution
CELLOS_AGENT_ENDPOINT=http://127.0.0.1:8081 \
scripts/cellos-lab-smoke.sh examples/workspaces/devcontainer-execution
hostmacOSworkspace plan
lab machineOrbStack NixOScell-agent
userlandMoby / Dockerdevcontainer lifecycle
Lab boundarydoes not validate Firecracker or KVM