[PR #2857] [MERGED] nix: add NixOS module and tests #2900

Closed
opened 2025-12-29 04:19:35 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/juanfont/headscale/pull/2857
Author: @kradalby
Created: 11/2/2025
Status: Merged
Merged: 11/12/2025
Merged by: @kradalby

Base: mainHead: kradalby/nixos-module


📝 Commits (4)

  • 43d668c nix: add NixOS module and tests
  • 477bbe8 ci: add NixOS module test workflow
  • 02867ce nix: add readme
  • 682e9cb flake: remove unused checks.format and ldflags

📊 Changes

8 files changed (+1085 additions, -28 deletions)

View changed files

.github/workflows/nix-module-test.yml (+56 -0)
📝 CHANGELOG.md (+2 -4)
📝 README.md (+2 -0)
📝 flake.nix (+10 -24)
nix/README.md (+41 -0)
nix/example-configuration.nix (+145 -0)
nix/module.nix (+727 -0)
nix/tests/headscale.nix (+102 -0)

📄 Description

Add a NixOS module under nix/module.nix that provides declarative
Headscale configuration with freeform settings support. The module
automatically disables the upstream NixOS module to prevent conflicts.

Expose the module through flake.nix as nixosModules.headscale and
nixosModules.default for easy consumption.

Include a comprehensive NixOS test that validates service startup,
client connectivity, and MagicDNS functionality.

Add documentation and example configuration to demonstrate usage.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/juanfont/headscale/pull/2857 **Author:** [@kradalby](https://github.com/kradalby) **Created:** 11/2/2025 **Status:** ✅ Merged **Merged:** 11/12/2025 **Merged by:** [@kradalby](https://github.com/kradalby) **Base:** `main` ← **Head:** `kradalby/nixos-module` --- ### 📝 Commits (4) - [`43d668c`](https://github.com/juanfont/headscale/commit/43d668c22390b69ea67899c06e5f81c24facd613) nix: add NixOS module and tests - [`477bbe8`](https://github.com/juanfont/headscale/commit/477bbe892984db1f091c61a70555a434788115c2) ci: add NixOS module test workflow - [`02867ce`](https://github.com/juanfont/headscale/commit/02867ce56bce1b0f90eaefc4f42b9a9a436c68a2) nix: add readme - [`682e9cb`](https://github.com/juanfont/headscale/commit/682e9cbadb5c75989289ef621eed03f42f8749b0) flake: remove unused checks.format and ldflags ### 📊 Changes **8 files changed** (+1085 additions, -28 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/nix-module-test.yml` (+56 -0) 📝 `CHANGELOG.md` (+2 -4) 📝 `README.md` (+2 -0) 📝 `flake.nix` (+10 -24) ➕ `nix/README.md` (+41 -0) ➕ `nix/example-configuration.nix` (+145 -0) ➕ `nix/module.nix` (+727 -0) ➕ `nix/tests/headscale.nix` (+102 -0) </details> ### 📄 Description Add a NixOS module under nix/module.nix that provides declarative Headscale configuration with freeform settings support. The module automatically disables the upstream NixOS module to prevent conflicts. Expose the module through flake.nix as nixosModules.headscale and nixosModules.default for easy consumption. Include a comprehensive NixOS test that validates service startup, client connectivity, and MagicDNS functionality. Add documentation and example configuration to demonstrate usage. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 04:19:35 +01:00
adam closed this issue 2025-12-29 04:19:35 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#2900