headscale/nix
Kristoffer Dalby 70b0c9208b nix: run each integration test as a NixOS-VM flake check
Each test becomes a hermetic check: a VM boots docker, loads the prebuilt images
and runs that one test (nix/tests/integration.nix), so the suite runs offline as
nix build .#checks.<name>. The generator emits the test list as nix: heavy
multi-subtest tests are split into per-subtest checks, and tests the nested
docker VM can't host are excluded for the legacy pipeline. flake.nix wires the
checks, the images, and the Go build/test/lint checks (with the version JSON on
the embed whitelist).
2026-07-01 12:11:51 +00:00
..
tests nix: run each integration test as a NixOS-VM flake check 2026-07-01 12:11:51 +00:00
example-configuration.nix nix: add NixOS module and tests (#2857) 2025-11-12 13:11:38 +00:00
images.nix nix: build the headscale and tailscale-HEAD test images 2026-07-01 12:11:51 +00:00
module.nix Update links to Tailscale documentation 2026-04-18 09:33:41 +02:00
README.md nix: add NixOS module and tests (#2857) 2025-11-12 13:11:38 +00:00

Headscale NixOS Module

This directory contains the NixOS module for Headscale.

Rationale

The module is maintained in this repository to keep the code and module synchronized at the same commit. This allows faster iteration and ensures the module stays compatible with the latest Headscale changes. All changes should aim to be upstreamed to nixpkgs.

Files

Usage

Add to your flake inputs:

inputs.headscale.url = "github:juanfont/headscale";

Then import the module:

imports = [ inputs.headscale.nixosModules.default ];

See example-configuration.nix for configuration options.

Upstream

The module in this repository may be newer than the nixpkgs version.