Root
InstallDocs
A Boring Infra Co. product

Deterministic tools
without learning Nix.

root install pins exact store paths, verifies every binary, and lets you undo anything — locally, with a lockfile. The same machine holds agent work and local tools.

$curl -fsSL https://boringinfra.company/root/install.sh | sh

Requires Nix (installer can add it). Then root doctor.

-// brew install && hope you can undo
+root install ripgrep

The lock is the product.

Intent is a Rootfile. Truth is root.lock. Snapshots make undo a command, not a story you tell yourself.

Root Install
LIVE

VERIFIED·ripgrep pinned to the Nix store. Rollback is one command.

Snapshot first · Verify after · Click a step to inspect

One mutation. Five gates. Each one is inspectable. root install in action.

A local capability plane.
Still on your machine.

One rootd serves MCP. Connectors carry tools. Write tools wait on approval. Events hand work to a harness only through an explicit route. Checkpoint references move over a folder you choose.

1

Local MCP

root mcp serve shims to rootd on a mode 0600 Unix socket. Loopback HTTP is opt-in and needs a bearer token. Protocol stays 2024-11-05.

2

Connectors

root connector installs a content-addressed package. Credentials are names only. Write and destructive tools wait on root approval. Network and filesystem grants stay none.

3

Routes and references

root event pull returns a delivery already handed to a harness. It does not start an agent. root checkpoint-sync exchanges encrypted checkpoint references over a folder. root sync is still the Nix reconcile.

Mail, browser, messages, and finance are local fixtures. They do not attach to a live inbox, desktop, carrier, or bank. A payment intent is a record. It does not move money.

The environment loop.

Plan and install is the environment loop, not the whole product. Agents also get a local rootd. There is still no Root account and no hosted control plane.

1. Install
// Nix required.
// Installer can add it.
curl -fsSL \
  https://boringinfra.company/root/install.sh \
  | sh
2. Plan
// Preview. No writes.
root plan install ripgrep
3. Apply
// Snapshot → install → verify
root install ripgrep

Your lock stays local.
There is no Root cloud.

Rootfile, lock, snapshots, and profile live on your machine. Nix is the engine. Root is the interface. Nothing is uploaded. Nothing phones home.

Your machine · Source of truth
// Intent, pin, undo. That's it.
const intent = "~/.root/Rootfile";
const truth = "~/.root/root.lock";

Isolated profile. Append-only ledger. No Root account required.

Hosted control plane · Does not exist
// Nothing to send. Nowhere to send it.
if (cloud) return null;
if (telemetry) return "off";

No silent upload of your lockfile. Root does not need a hosted backend.

A tool you cannot undo is a liability. Root snapshots first and shows you how to roll it back.

Plan. Apply.
Verify. Undo.

Root does not replace Nix. It hides it. You declare intent, Root pins store paths, and every mutation is reversible.

1

Plan

Browse the curated catalog. Preview the Nix attribute. Nothing writes until you apply.

2

Apply

Snapshot first. Install into an isolated profile. Verify the binary landed where Root said it would.

3

Undo

rollback --last restores locked state. root status shows drift.

What do you get?

A curated catalog and a lockfile you can read sit under a local capability plane, and an undo button remains for the parts of your machine that used to be irreversible.

Undo anything

Every mutation snapshots first. rollback --last restores locked state.

Verified installs

Binaries are checked in the Root profile. Never global PATH.

Deterministic lock

Curated Nix attributes become pinned store paths in root.lock.

Start pinning for real this time

Install the CLI. Plan before you mutate. The lock lives on your machine.

$curl -fsSL https://boringinfra.company/root/install.sh | sh

Then root doctor. Then root catalog. Then root mcp status.

View on GitHub→