1
0

avahi.nix 726 B

123456789101112131415161718192021222324252627282930313233343536
  1. { lib, pkgs, ... }:
  2. let
  3. go-avahi-cname = lib.getExe pkgs.unstable.go-avahi-cname;
  4. in
  5. {
  6. services.avahi = {
  7. nssmdns4 = true;
  8. enable = true;
  9. ipv4 = true;
  10. ipv6 = true;
  11. publish = {
  12. enable = true;
  13. addresses = true;
  14. workstation = true;
  15. userServices = true;
  16. };
  17. };
  18. systemd.services.avahi-cname = {
  19. description = "Avahi CNAME Publisher";
  20. wantedBy = [ "multi-user.target" ];
  21. after = [
  22. "network.target"
  23. "avahi-daemon.service"
  24. ];
  25. requires = [ "avahi-daemon.service" ];
  26. serviceConfig = {
  27. Type = "simple";
  28. User = "root";
  29. ExecStart = "${go-avahi-cname} subdomain";
  30. Restart = "always";
  31. RestartSec = "10";
  32. };
  33. };
  34. }