Getting Started

Welcome to Neocache! This guide will help you set up your first binary cache in just a few minutes.

What is Neocache?

Neocache is a self-hostable Nix binary cache with:

  • Global deduplication - Content-defined chunking saves storage costs
  • Multi-tenancy - Isolated caches for teams and projects
  • Managed signing - Server-side signing keeps keys secure
  • S3 storage - Deploy on any S3-compatible provider

Quick Start

1. Install the CLI

# Using Nix (recommended)
nix profile install github:neocache/neocache

# Or add to your flake inputs
{
  inputs.neocache.url = "github:neocache/neocache";
}

2. Login to Neocache

neocache login

This will open your browser to authenticate. Once complete, you’ll be logged in.

3. Create a Cache

neocache cache create my-project

4. Push Your First Paths

# Build something
nix build .#myPackage

# Push to your cache
neocache push ./result

5. Configure Nix to Use Your Cache

Add your cache as a substituter in your nix.conf or flake:

# In your flake.nix
{
  nixConfig = {
    extra-substituters = ["https://my-project.neocache.io"];
    extra-trusted-public-keys = ["my-project.neocache.io-1:..."];
  };
}

Next Steps