mirror of
https://github.com/juanfont/headscale.git
synced 2026-04-09 06:27:48 +09:00
Introduce a structured NodeConfig that replaces the flat EphemeralNodeInactivityTimeout field with a nested Node section. Add node.expiry config (default: no expiry) as the unified default key expiry for all non-tagged nodes regardless of registration method. Remove oidc.expiry entirely — node.expiry now applies to OIDC nodes the same as all other registration methods. Using oidc.expiry in the config is a hard error. determineNodeExpiry() returns nil (no expiry) unless use_expiry_from_token is enabled, letting state.go apply the node.expiry default uniformly. The old ephemeral_node_inactivity_timeout key is preserved for backwards compatibility. Updates #1711
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
module.nix- The NixOS module implementationexample-configuration.nix- Example configuration demonstrating all major featurestests/- NixOS integration tests
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.