Personal Nix setup

Consolidate mDNS options

Changed files
+10 -25
modules
-1
modules/router/default.nix
···
./dnsmasq.nix
./nftables.nix
./upnp.nix
-
./mdns.nix
./kernel.nix
];
}
···
./dnsmasq.nix
./nftables.nix
./upnp.nix
./kernel.nix
];
}
-24
modules/router/mdns.nix
···
-
{ lib, config, ... }:
-
-
with lib;
-
let
-
cfg = config.modules.router;
-
intern = cfg.interfaces.internal;
-
extern = cfg.interfaces.external;
-
in {
-
options.modules.router = {
-
mdns.enable = mkOption {
-
default = false;
-
description = "Whether to enable mDNS Discovery Service";
-
type = types.bool;
-
};
-
};
-
-
config = mkIf (cfg.mdns.enable && cfg.enable && intern != null) {
-
services.avahi = {
-
enable = true;
-
allowInterfaces = if intern != null then [ intern.name ] else [];
-
denyInterfaces = [ extern.name ];
-
};
-
};
-
}
···
+10
modules/router/network.nix
···
else "127.0.0.1";
example = "127.0.0.1";
};
interfaces = {
external = mkOption {
type = interfaceType;
···
IPv4Forwarding = true;
IPv6Forwarding = true;
ConfigureWithoutCarrier = true;
};
};
});
};
};
}
···
else "127.0.0.1";
example = "127.0.0.1";
};
+
mdns = mkOption {
+
type = types.bool;
+
default = !config.services.avahi.enable;
+
};
interfaces = {
external = mkOption {
type = interfaceType;
···
IPv4Forwarding = true;
IPv6Forwarding = true;
ConfigureWithoutCarrier = true;
+
MulticastDNS = cfg.mdns;
};
};
});
};
+
+
services.resolved.extraConfig = optionalString cfg.mdns ''
+
DNSStubListener=no
+
MulticastDNS=yes
+
'';
};
}