summary refs log tree commit diff
path: root/nixos/modules/services/networking/kresd.nix
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@gmail.com>2021-04-24 09:11:00 +0200
committerSandro Jäckel <sandro.jaeckel@gmail.com>2021-04-24 09:18:45 +0200
commit8ee00e6ca2910e1498d74750b55520de47c1b3f8 (patch)
tree708f5801ddab5cade7d029a1f47dcf384eda98fd /nixos/modules/services/networking/kresd.nix
parent0098f76b1a9035e83f3598e46f169588f6ecb2aa (diff)
downloadnixpkgs-8ee00e6ca2910e1498d74750b55520de47c1b3f8.tar
nixpkgs-8ee00e6ca2910e1498d74750b55520de47c1b3f8.tar.gz
nixpkgs-8ee00e6ca2910e1498d74750b55520de47c1b3f8.tar.bz2
nixpkgs-8ee00e6ca2910e1498d74750b55520de47c1b3f8.tar.lz
nixpkgs-8ee00e6ca2910e1498d74750b55520de47c1b3f8.tar.xz
nixpkgs-8ee00e6ca2910e1498d74750b55520de47c1b3f8.tar.zst
nixpkgs-8ee00e6ca2910e1498d74750b55520de47c1b3f8.zip
nixos/kresd: allow package to be configured
Diffstat (limited to 'nixos/modules/services/networking/kresd.nix')
-rw-r--r--nixos/modules/services/networking/kresd.nix15
1 files changed, 10 insertions, 5 deletions
diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix
index 3f9be6172f1..86709874065 100644
--- a/nixos/modules/services/networking/kresd.nix
+++ b/nixos/modules/services/networking/kresd.nix
@@ -29,8 +29,6 @@ let
     + concatMapStrings (mkListen "doh2") cfg.listenDoH
     + cfg.extraConfig
   );
-
-  package = pkgs.knot-resolver;
 in {
   meta.maintainers = [ maintainers.vcunat /* upstream developer */ ];
 
@@ -58,6 +56,13 @@ in {
         and give commands interactively to kresd@1.service.
       '';
     };
+    package = mkOption {
+      default = pkgs.knot-resolver;
+      type = types.package;
+      description = "
+        knot-resolver package to use.
+      ";
+    };
     extraConfig = mkOption {
       type = types.lines;
       default = "";
@@ -115,7 +120,7 @@ in {
       };
     users.groups.knot-resolver.gid = null;
 
-    systemd.packages = [ package ]; # the units are patched inside the package a bit
+    systemd.packages = [ cfg.package ]; # the units are patched inside the package a bit
 
     systemd.targets.kresd = { # configure units started by default
       wantedBy = [ "multi-user.target" ];
@@ -123,8 +128,8 @@ in {
         ++ map (i: "kresd@${toString i}.service") (range 1 cfg.instances);
     };
     systemd.services."kresd@".serviceConfig = {
-      ExecStart = "${package}/bin/kresd --noninteractive "
-        + "-c ${package}/lib/knot-resolver/distro-preconfig.lua -c ${configFile}";
+      ExecStart = "${cfg.package}/bin/kresd --noninteractive "
+        + "-c ${cfg.package}/lib/knot-resolver/distro-preconfig.lua -c ${configFile}";
       # Ensure /run/knot-resolver exists
       RuntimeDirectory = "knot-resolver";
       RuntimeDirectoryMode = "0770";