---
title: "Root Overview"
description: "Deterministic CLI tool installs with undo — without learning Nix."
---
[Root](https://github.com/BoringInfraCo/Root) is a curated, Nix-backed package manager for developer CLI tools. You declare intent in a `Rootfile`; Root pins exact Nix store paths in `root.lock`, snapshots before every mutation, and installs to an isolated profile.

**Core loop:** Declare → Pin → Apply → Undo

## What it does

- Browse a curated catalog of 42 developer tools
- Preview changes with `root plan` before applying
- Pin exact versions in `root.lock` for reproducibility
- Verify installed binaries in an isolated profile
- Roll back any change with `root rollback --last`

## Key features

| Feature | Description |
|---------|-------------|
| Deterministic lock | `root.lock` pins Nix store paths |
| Undo anything | Pre-mutation snapshots restore locked state |
| Verified installs | Binaries checked in Root profile, not global PATH |
| Agent bundles | Transfer Codex, OpenCode, or Claude config between machines |
| JSON output | Every command supports `--json` for agents |
| Sandboxes | Docker-based isolated task execution |

## Comparison

| Capability | Root | brew | curl \| sh | raw Nix |
|------------|------|------|------------|---------|
| Deterministic lock | Yes | No | No | Manual |
| Undo | Yes | No | No | Manual |
| Post-install verify | Yes | No | No | No |
| No Nix to learn | Yes | Yes | Yes | No |

## Tech stack

- **Language:** Rust
- **Engine:** Nix (Determinate installer offered if missing)
- **Platforms:** macOS-first; Linux best-effort
- **Storage:** `~/.root/` (Rootfile, root.lock, snapshots, profiles, event ledger)
- **License:** Apache-2.0

## Resources

- [Quick Start](/docs/products/root/quick-start)
- [Use Cases](/docs/products/root/use-cases)
- [Product page](https://boringinfra.company/root)
- [GitHub](https://github.com/BoringInfraCo/Root)
