Skip to content

Pre-Hardware Validation

The local path should prove contracts and deterministic inputs before the appliance can run.

Terminal window
nix run .#check

This covers Go tests, linting, protobuf lint/generation, and the public site build.

Terminal window
make nix-check

nix flake check evaluates the host and CellOS module composition. It does not boot the appliance.

  • Firecracker process launch;
  • KVM access;
  • jailer and seccomp behavior;
  • TAP networking;
  • virtio-vsock;
  • CellOS boot;
  • devcontainer runtime execution inside the guest.

The appliance should be a NixOS-managed service stack. celld is the durable control daemon. Quadlet/systemd containers are a good fit for trusted host support services such as builders, registries, observability, and UI servers. Untrusted project workloads should still run inside Firecracker-backed cells.

The native Swift frontend should be a first-class Connect/protobuf client. It can provide host pairing, cell lifecycle controls, operation timelines, logs/events, service/port discovery, and policy prompts without depending on private appliance internals.