about summary refs log tree commit diff
diff options
context:
space:
mode:
authorColin2024-06-30 19:11:30 +0000
committerColin2024-08-11 07:59:32 +0000
commitf9df9508f4a35c71900bda319d00b6cbbc7ef909 (patch)
tree154b2141ed70d2d7272dd1b7346436e1c62ac0cb
parent086a5ea5b3acc4c512f9ec154bfefba55efba4f3 (diff)
hickory-dns: rename from trust-dns
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md2
-rw-r--r--nixos/doc/manual/release-notes/rl-2411.section.md2
-rw-r--r--nixos/modules/module-list.nix2
-rw-r--r--nixos/modules/services/networking/hickory-dns.nix (renamed from nixos/modules/services/networking/trust-dns.nix)39
-rw-r--r--pkgs/by-name/hi/hickory-dns/package.nix (renamed from pkgs/servers/dns/trust-dns/default.nix)6
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix2
7 files changed, 32 insertions, 22 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index d837e0ff68b7..0fd5f802d249 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -1017,7 +1017,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
 
 - [trust-dns](https://trust-dns.org/), a Rust based DNS server built to be safe
   and secure from the ground up. Available as
-  [services.trust-dns](#opt-services.trust-dns.enable).
+  `services.trust-dns`.
 
 - [osquery](https://www.osquery.io/), a SQL powered operating system
   instrumentation, monitoring, and analytics. Available as
diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md
index 0587cd1a295e..64c994e001f8 100644
--- a/nixos/doc/manual/release-notes/rl-2411.section.md
+++ b/nixos/doc/manual/release-notes/rl-2411.section.md
@@ -285,6 +285,8 @@
 
 - The `xdg.portal.gtkUsePortal` option has been removed, as it had been deprecated for over 2 years. Using the `GTK_USE_PORTAL` environment variable in this manner is not intended nor encouraged by the GTK developers, but can still be done manually via `environment.sessionVariables`.
 
+- The `services.trust-dns` module has been renamed to `services.hickory-dns`.
+
 ## Other Notable Changes {#sec-release-24.11-notable-changes}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 11b0b2dbb9be..b57d1c5dc4b8 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1047,6 +1047,7 @@
   ./services/networking/harmonia.nix
   ./services/networking/haproxy.nix
   ./services/networking/headscale.nix
+  ./services/networking/hickory-dns.nix
   ./services/networking/hostapd.nix
   ./services/networking/htpdate.nix
   ./services/networking/https-dns-proxy.nix
@@ -1234,7 +1235,6 @@
   ./services/networking/tox-node.nix
   ./services/networking/toxvpn.nix
   ./services/networking/trickster.nix
-  ./services/networking/trust-dns.nix
   ./services/networking/tvheadend.nix
   ./services/networking/twingate.nix
   ./services/networking/ucarp.nix
diff --git a/nixos/modules/services/networking/trust-dns.nix b/nixos/modules/services/networking/hickory-dns.nix
index 039b7de26350..6b99686958d7 100644
--- a/nixos/modules/services/networking/trust-dns.nix
+++ b/nixos/modules/services/networking/hickory-dns.nix
@@ -1,9 +1,9 @@
 { config, lib, pkgs, ... }:
 let
-  cfg = config.services.trust-dns;
+  cfg = config.services.hickory-dns;
   toml = pkgs.formats.toml { };
 
-  configFile = toml.generate "trust-dns.toml" (
+  configFile = toml.generate "hickory-dns.toml" (
     lib.filterAttrsRecursive (_: v: v != null) cfg.settings
   );
 
@@ -26,7 +26,7 @@ let
           - "Forward" (a cached zone where all requests are forwarded to another resolver).
 
           For more details about these zone types, consult the documentation for BIND,
-          though note that trust-dns supports only a subset of BIND's zone types:
+          though note that hickory-dns supports only a subset of BIND's zone types:
           <https://bind9.readthedocs.io/en/v9_18_4/reference.html#type>
         '';
       };
@@ -45,10 +45,19 @@ let
 in
 {
   meta.maintainers = with lib.maintainers; [ colinsane ];
+
+  imports = with lib; [
+    (mkRenamedOptionModule [ "services" "trust-dns" "enable" ] [ "services" "hickory-dns" "enable" ])
+    (mkRenamedOptionModule [ "services" "trust-dns" "package" ] [ "services" "hickory-dns" "package" ])
+    (mkRenamedOptionModule [ "services" "trust-dns" "settings" ] [ "services" "hickory-dns" "settings" ])
+    (mkRenamedOptionModule [ "services" "trust-dns" "quiet" ] [ "services" "hickory-dns" "quiet" ])
+    (mkRenamedOptionModule [ "services" "trust-dns" "debug" ] [ "services" "hickory-dns" "debug" ])
+  ];
+
   options = {
-    services.trust-dns = with lib; {
-      enable = mkEnableOption "trust-dns";
-      package = mkPackageOption pkgs "trust-dns" {
+    services.hickory-dns = with lib; {
+      enable = mkEnableOption "hickory-dns";
+      package = mkPackageOption pkgs "hickory-dns" {
         extraDescription = ''
           ::: {.note}
           The package must provide `meta.mainProgram` which names the server binary; any other utilities (client, resolver) are not needed.
@@ -75,9 +84,9 @@ in
       };
       settings = mkOption {
         description = ''
-          Settings for trust-dns. The options enumerated here are not exhaustive.
+          Settings for hickory-dns. The options enumerated here are not exhaustive.
           Refer to upstream documentation for all available options:
-          - [Example settings](https://github.com/bluejekyll/trust-dns/blob/main/tests/test-data/test_configs/example.toml)
+          - [Example settings](https://github.com/hickory-dns/hickory-dns/blob/main/tests/test-data/test_configs/example.toml)
         '';
         type = types.submodule {
           freeformType = toml.type;
@@ -106,9 +115,9 @@ in
             };
             directory = mkOption {
               type = types.str;
-              default = "/var/lib/trust-dns";
+              default = "/var/lib/hickory-dns";
               description = ''
-                The directory in which trust-dns should look for .zone files,
+                The directory in which hickory-dns should look for .zone files,
                 whenever zones aren't specified by absolute path.
               '';
             };
@@ -124,23 +133,23 @@ in
   };
 
   config = lib.mkIf cfg.enable {
-    systemd.services.trust-dns = {
-      description = "trust-dns Domain Name Server";
-      unitConfig.Documentation = "https://trust-dns.org/";
+    systemd.services.hickory-dns = {
+      description = "hickory-dns Domain Name Server";
+      unitConfig.Documentation = "https://hickory-dns.org/";
       serviceConfig = {
         ExecStart =
         let
           flags =  (lib.optional cfg.debug "--debug") ++ (lib.optional cfg.quiet "--quiet");
           flagsStr = builtins.concatStringsSep " " flags;
         in ''
-          ${cfg.package}/bin/${cfg.package.meta.mainProgram} --config ${configFile} ${flagsStr}
+          ${lib.getExe cfg.package} --config ${configFile} ${flagsStr}
         '';
         Type = "simple";
         Restart = "on-failure";
         RestartSec = "10s";
         DynamicUser = true;
 
-        StateDirectory = "trust-dns";
+        StateDirectory = "hickory-dns";
         ReadWritePaths = [ cfg.settings.directory ];
 
         AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
diff --git a/pkgs/servers/dns/trust-dns/default.nix b/pkgs/by-name/hi/hickory-dns/package.nix
index 09b7ebea4d65..cf6226089097 100644
--- a/pkgs/servers/dns/trust-dns/default.nix
+++ b/pkgs/by-name/hi/hickory-dns/package.nix
@@ -6,7 +6,7 @@
 }:
 
 rustPlatform.buildRustPackage rec {
-  pname = "trust-dns";
+  pname = "hickory-dns";
   version = "0.24.1";
 
   src = fetchFromGitHub {
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
     rev = "v${version}";
     hash = "sha256-szq21RuRmkhAfHlzhGQYpwjiIRkavFCPETOt+6TxhP4=";
   };
-  cargoHash = "sha256-zGn5vHwsHgpkgOr30QiyScqnfXjH55LQIVtxoUUox64=";
+  cargoHash = "sha256-LcMjHHEuDlhSfDXGIrSMXewraSxEgRw2g2DOoH4i5RU=";
 
   buildInputs = [ openssl ];
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Rust based DNS client, server, and resolver";
-    homepage = "https://trust-dns.org/";
+    homepage = "https://hickory-dns.org/";
     maintainers = with maintainers; [ colinsane ];
     platforms = platforms.linux;
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index e831bd025759..7431ba32600d 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -1462,6 +1462,7 @@ mapAliases ({
   transifex-client = transifex-cli; # Added 2023-12-29
   trezor_agent = trezor-agent; # Added 2024-01-07
   openai-triton-llvm = triton-llvm; # added 2024-07-18
+  trust-dns = hickory-dns; # Added 2024-08-07
   trustedGrub = throw "trustedGrub has been removed, because it is not maintained upstream anymore"; # Added 2023-05-10
   trustedGrub-for-HP = throw "trustedGrub-for-HP has been removed, because it is not maintained upstream anymore"; # Added 2023-05-10
   tumpa = throw "tumpa has been removed, as it is broken"; # Added 2024-07-15
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1f022192b559..7f8d18f7d768 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -27381,8 +27381,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  trust-dns = callPackage ../servers/dns/trust-dns { };
-
   trustymail = callPackage ../tools/security/trustymail { };
 
   tunctl = callPackage ../os-specific/linux/tunctl { };