Files
nxdns/docs
mokhtar 22abcd9b7b release: nix flake with tag-pinned hashes, reproducible tarballs (milestone 40)
flake.nix fetches the release tarballs and carries their SRI hashes in a generated block. The cut tool builds the release locally with the toolchain gates.yml pins, in a normalized nine-variable environment, writes the hashes into flake.nix, and commits it with build.zig.zon as the single bump commit. The package job verifies the pins on the bump commit and the publish job verifies them again on the tag, before anything is uploaded.

The tarballs are written by dist_stage (std.tar.Writer, flate gzip) instead of the runner's tar and gzip, and -ffile-prefix-map keeps checkout paths out of the C objects; two checkouts at different absolute paths produce byte-identical archives. nxdns version, /api/version and the admin footer report the version only: the bump commit cannot know its own sha.
2026-09-08 21:45:22 +02:00
..

nxdns documentation

The pages are split by what you are trying to do, following Diátaxis. Each page serves one of four purposes, and knowing which one you want is the fastest way to the right page.

Mode For Read it when
Tutorial Someone who has never run nxdns You want to learn what it does by making it work once
How-to guides An operator with a job to do You know what you want and need the steps
Reference Anyone who needs an exact answer You want a field, a flag, a route or an exit code
Explanation Anyone deciding or debugging You want to know why it works the way it does

Tutorial

A lesson, not a procedure: one path with one outcome, on a scratch directory you can delete afterwards.

  • tutorial/first-run.md — build nxdns, resolve a name, block a domain from a real blocklist, open the web interface, stop cleanly.

How-to guides

Steps for a goal you already have. They assume you know what nxdns is.

Reference

Descriptions of what is there. No procedures, no advice.

Explanation

Background. Nothing here is needed to operate nxdns; it is here so the decisions are inspectable.

Scope and per-milestone contracts live outside this directory, in ../PLAN.md and ../specs/.