whatisgithub

What is nix-cache-beacon?

adisbladis/nix-cache-beacon — explained in plain English

Analysis updated 2026-05-18

25GoAudience · ops devopsComplexity · 4/5LicenseSetup · hard

In one sentence

An alpha tool that uses local network discovery to share cached Nix packages between machines instead of downloading from the internet.

Mindmap

mindmap
  root((nix-cache-beacon))
    What it does
      Local network Nix cache
      mDNS discovery
      Races cache gets
    Tech stack
      Go
      Nix
      mDNS
    Use cases
      Faster NixOS rebuilds
      Shared local caching
    Audience
      NixOS users
      DevOps engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Share Nix build outputs between machines on the same local network instead of fetching from the internet each time.

USE CASE 2

Speed up NixOS system rebuilds across a home lab or office network of Nix machines.

USE CASE 3

Advertise a local binary cache like Harmonia to other machines automatically via mDNS.

What is it built with?

GoNixmDNS

How does it compare?

adisbladis/nix-cache-beaconaspecttaleadapter/adobe-lightroom-classic-15-3-fullnutcas3/the-engine
Stars252525
LanguageGoGoGo
Setup difficultyhardeasymoderate
Complexity4/51/54/5
Audienceops devopsgeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Primarily configured through a NixOS module, requires understanding Nix system configuration.

The application is GPL 3.0 or later (copyleft), the accompanying Nix expressions are separately licensed under MIT.

So what is it?

nix-cache-beacon is an alpha stage tool that turns a group of computers on the same local network into a shared binary cache for the Nix package manager. Nix normally downloads prebuilt packages from a central cache online, this tool instead uses mDNS, a way for devices to automatically discover each other on a local network, so machines running Nix can find each other, announce that they have cached packages available, and fetch them from a nearby machine instead of the internet, effectively racing multiple local caches against each other to get packages faster. On the security side, the README is clear that this project does not change how Nix normally verifies packages: substituted packages still have to be signed by a key the system already trusts, and package signatures are checked before any metadata from a race is accepted. It does note that traffic between machines is unencrypted, which means other devices on the same local network could potentially observe what packages you are trying to fetch, something to be aware of before using it on a network you do not fully trust. The main way to use nix-cache-beacon is through its NixOS module, configured directly in a NixOS system's configuration file. You can enable it to advertise your machine's cache to the network, point at a local binary cache server such as Harmonia to serve from, and enable the local cache lookup feature so your system checks the network for packages before falling back to the internet. If you are running NixOS, the tool automatically uses the same cryptographic signing keys already configured on your system. The application code is licensed under GPL 3.0 or later, while the accompanying Nix configuration expressions are licensed separately under MIT.

Copy-paste prompts

Prompt 1
Help me configure the nix-cache-beacon NixOS module to advertise my machine's Harmonia cache to my local network.
Prompt 2
Explain the security tradeoffs of using nix-cache-beacon's unencrypted local network traffic.
Prompt 3
Set up nix-cache-beacon so my NixOS system checks the local network for packages before the internet.

Frequently asked questions

What is nix-cache-beacon?

An alpha tool that uses local network discovery to share cached Nix packages between machines instead of downloading from the internet.

What language is nix-cache-beacon written in?

Mainly Go. The stack also includes Go, Nix, mDNS.

What license does nix-cache-beacon use?

The application is GPL 3.0 or later (copyleft), the accompanying Nix expressions are separately licensed under MIT.

How hard is nix-cache-beacon to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is nix-cache-beacon for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.