diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index bf2f2ccd4b8a..b7a120a9c380 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6227,6 +6227,12 @@ githubId = 303897; name = "Fabián Heredia Montiel"; }; + fabianrig = { + email = "fabianrig@posteo.de"; + github = "fabianrig"; + githubId = 88741530; + name = "Fabian Rigoll"; + }; fadenb = { email = "tristan.helmich+nixos@gmail.com"; github = "fadenb"; diff --git a/pkgs/by-name/te/technitium-dns-server/package.nix b/pkgs/by-name/te/technitium-dns-server/package.nix new file mode 100644 index 000000000000..774326ae9d1f --- /dev/null +++ b/pkgs/by-name/te/technitium-dns-server/package.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenvNoCC, + fetchurl, + makeWrapper, + dotnet-sdk_8, +}: +stdenvNoCC.mkDerivation rec { + pname = "technitium-dns-server"; + version = "12.1"; + + src = fetchurl { + url = "https://download.technitium.com/dns/archive/${version}/DnsServerPortable.tar.gz"; + hash = "sha256-G0M2xuYBZA3XXXaPs4pLrJmzAMbVJhiqISAvuCw3iZo="; + }; + + sourceRoot = "."; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,share/${pname}-${version}} + cp -r * $out/share/${pname}-${version}/. + rm $out/share/${pname}-${version}/start.{sh,bat} + rm $out/share/${pname}-${version}/DnsServerApp.exe + rm $out/share/${pname}-${version}/env-vars + # Remove systemd.service in favor of a separate module (including firewall configuration). + rm $out/share/${pname}-${version}/systemd.service + + makeWrapper "${dotnet-sdk_8}/bin/dotnet" $out/bin/technitium-dns-server \ + --add-flags "$out/share/${pname}-${version}/DnsServerApp.dll" + + runHook postInstall + ''; + + meta = { + changelog = "https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md"; + description = "Authorative and Recursive DNS server for Privacy and Security"; + homepage = "https://github.com/TechnitiumSoftware/DnsServer"; + license = lib.licenses.gpl3Only; + mainProgram = "technitium-dns-server"; + maintainers = with lib.maintainers; [ fabianrig ]; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + }; +}