Files
headscale/nix
Kristoffer Dalby 37c6a9e3a6 nix: sync module options and descriptions with upstream nixpkgs
Add missing typed options from the upstream nixpkgs module:
- configFile: read-only option exposing the generated config path
  for composability with other NixOS modules
- dns.split: split DNS configuration with proper type checking
- dns.extra_records: typed submodule with name/type/value validation

Sync descriptions and assertions with upstream:
- Use Tailscale doc link for override_local_dns description
- Remove redundant requirement note from nameservers.global
- Match upstream assertion message wording and expression style

Update systemd script to reference cfg.configFile instead of a
local let-binding, matching the upstream pattern.
2026-03-06 05:18:44 -08: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.