From 4e744798078a5e6dd8d58e6632cf657183b3e1ac Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 28 May 2016 13:49:54 +0200 Subject: networking config: specify resolv.conf options as list of strings --- nixos/modules/config/networking.nix | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'nixos') diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index ceb9152e6de6..8a2e630a917a 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -11,11 +11,9 @@ let config.services.dnsmasq.resolveLocalQueries; hasLocalResolver = config.services.bind.enable || dnsmasqResolve; - resolvconfOptions = - builtins.replaceStrings ["\n"] [" "] - (cfg.resolvconfOptions + - (optionalString cfg.dnsSingleRequest " single-request") + - (optionalString cfg.dnsExtensionMechanism " ends0")); + resolvconfOptions = cfg.resolvconfOptions + ++ optional cfg.dnsSingleRequest "single-request" + ++ optional cfg.dnsExtensionMechanism "ends0"; in { @@ -65,9 +63,9 @@ in }; networking.resolvconfOptions = lib.mkOption { - type = types.lines; - default = ""; - example = "ndots:1 rotate"; + type = types.listOf types.str; + default = []; + example = [ "ndots:1" "rotate" ]; description = '' Set the options in /etc/resolv.conf. ''; @@ -184,9 +182,9 @@ in # Invalidate the nscd cache whenever resolv.conf is # regenerated. libc_restart='${pkgs.systemd}/bin/systemctl try-restart --no-block nscd.service 2> /dev/null' - '' + optionalString ((stringLength resolvconfOptions) > 0) '' + '' + optionalString (length resolvconfOptions > 0) '' # Options as described in resolv.conf(5) - resolv_conf_options='${resolvconfOptions}' + resolv_conf_options='${concatStringsSep " " resolvconfOptions}' '' + optionalString hasLocalResolver '' # This hosts runs a full-blown DNS resolver. name_servers='127.0.0.1' -- cgit 1.4.1