1{ stdenv, lib, fetchurl }:
2
3let
4
5 rootHints = fetchurl {
6 # Original source https://www.internic.net/domain/named.root
7 # occasionally suffers from pointless hash changes,
8 # and having stable sources for older versions has advantages, too.
9 urls = map (prefix: prefix + "d9c96ae96f066a85d7/etc/root.hints") [
10 "https://gitlab.nic.cz/knot/knot-resolver/raw/"
11 "https://raw.githubusercontent.com/CZ-NIC/knot-resolver/"
12 ];
13 hash = "sha256-4lG/uPnNHBNIZ/XIeDM1w3iukrpeW0JIjTnGSwkJ8U4=";
14 };
15
16 rootKey = ./root.key;
17 rootDs = ./root.ds;
18
19in
20
21stdenv.mkDerivation {
22 pname = "dns-root-data";
23 version = "2024-06-20";
24
25 buildCommand = ''
26 mkdir $out
27 cp ${rootHints} $out/root.hints
28 cp ${rootKey} $out/root.key
29 cp ${rootDs} $out/root.ds
30 '';
31
32 meta = with lib; {
33 description = "DNS root data including root zone and DNSSEC key";
34 maintainers = with maintainers; [ fpletz vcunat ];
35 license = licenses.gpl3Plus;
36 };
37}