{ lib, pkgs, ... }: let go-avahi-cname = lib.getExe pkgs.unstable.go-avahi-cname; in { services.avahi = { nssmdns4 = true; enable = true; ipv4 = true; ipv6 = true; publish = { enable = true; addresses = true; workstation = true; userServices = true; }; }; systemd.services.avahi-cname = { description = "Avahi CNAME Publisher"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" "avahi-daemon.service" ]; requires = [ "avahi-daemon.service" ]; serviceConfig = { Type = "simple"; User = "root"; ExecStart = "${go-avahi-cname} subdomain"; Restart = "always"; RestartSec = "10"; }; }; }