Skip to content

feat: add dnclient for defined.net managed Nebula VPN - #707

Merged
genebean merged 2 commits into
mainfrom
feat/dnclient
Aug 2, 2026
Merged

feat: add dnclient for defined.net managed Nebula VPN#707
genebean merged 2 commits into
mainfrom
feat/dnclient

Conversation

@genebean

@genebean genebean commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Packages dnclient v0.9.6 (closed-source static Go binary from defined.net) as a custom derivation in pkgs/dnclient/
  • Overlays it into nixpkgs via lib/nixpkgs-settings.nix so NixOS modules can reference pkgs.dnclient
  • Adds a NixOS service module at modules/genebean/nixos/services/dnclient.nix behind an opt-in genebean.services.dnclient.enable flag
  • Enables it on nixnuc

Test plan

  • nix build .#dnclient succeeds
  • nix eval .#nixosConfigurations.nixnuc.config.genebean.services.dnclient.enable returns true
  • sudo nixos-rebuild switch --flake .#nixnuc succeeded on nixnuc
  • sudo systemctl start dnclient + sudo dnclient enroll -code <CODE> enrolled successfully
  • ip a show defined1 confirms the Nebula interface is up with an IPv6 address

Notes

Enrollment is a one-time manual step per host: sudo dnclient enroll -code <CODE> (get the code from the defined.net dashboard). After that, dnclient handles cert rotation automatically via the defined.net API.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UL9di9snFd1GGxF3G9YPsy

Packages the dnclient v0.9.6 static binary as a custom derivation,
overlays it into pkgs, and adds a NixOS service module behind an
opt-in genebean.services.dnclient.enable flag. Enables it on nixnuc.

Enrollment is done manually once with `sudo dnclient enroll -code <CODE>`;
dnclient handles cert rotation automatically after that.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@genebean
genebean merged commit 6982b64 into main Aug 2, 2026
2 checks passed
@genebean
genebean deleted the feat/dnclient branch August 2, 2026 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant