From c153a351659e4596acfc31f00bf594343cbfcd68 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 30 Jul 2026 14:05:39 +0200 Subject: modules: Use namespaces That might make it easier in the future to merge different server configs together (and thusly facilitate code-reuse.). --- modules/by-name/dn/dns/module.nix | 86 --------------------------------------- 1 file changed, 86 deletions(-) delete mode 100644 modules/by-name/dn/dns/module.nix (limited to 'modules/by-name/dn/dns/module.nix') diff --git a/modules/by-name/dn/dns/module.nix b/modules/by-name/dn/dns/module.nix deleted file mode 100644 index 8f4ad37..0000000 --- a/modules/by-name/dn/dns/module.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - config, - lib, - ... -}: let - cfg = config.vhack.dns; - - zones = - builtins.mapAttrs (name: value: { - data = - dns.types.zone.renderToString name value; - }) - cfg.zones; - - dns = import ./dns {inherit lib;}; - - ports = let - parsePorts = listeners: let - splitAddress = addr: lib.splitString "@" addr; - - extractPort = addr: let - split = splitAddress addr; - in - lib.toInt ( - if (builtins.length split) == 2 - then builtins.elemAt split 1 - else "53" - ); - in - builtins.map extractPort listeners; - in - lib.unique (parsePorts cfg.interfaces); -in { - options.vhack.dns = { - enable = lib.mkEnableOption "custom dns server"; - - openFirewall = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Open the following ports: - TCP (${lib.concatStringsSep ", " (map toString ports)}) - UDP (${lib.concatStringsSep ", " (map toString ports)}) - ''; - }; - - interfaces = lib.mkOption { - type = lib.types.listOf lib.types.str; - description = '' - A list of the interfaces to bind to. To select the port add `@` to the end of the - interface. The default port is 53. - ''; - example = [ - "192.168.1.3" - "2001:db8:1::3" - ]; - }; - - zones = lib.mkOption { - type = lib.types.attrsOf dns.types.zone.zone; - description = "DNS zones"; - }; - }; - - config = lib.mkIf cfg.enable { - services.nsd = { - enable = true; - verbosity = 4; - inherit (cfg) interfaces; - inherit zones; - }; - - networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall ports; - networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall ports; - - systemd.services.nsd = { - requires = [ - "network-online.target" - ]; - after = [ - "network.target" - "network-online.target" - ]; - }; - }; -} -- cgit v1.3.1