14 src = fetchFromGitHub {
17 rev = "refs/tags/v${version}";
18 hash = "sha256-e39T6pOFD9FrbXVtD/qPN74HQqJcTl3a3enTPVqpsuY=";
21 vendorHash = "sha256-zz33xHIZ2jhD2s3v2vum0ELG7GTqe5SsADUrO5yqumw=";
22 npmDeps = fetchNpmDeps {
24 hash = "sha256-Y35CcUubO3QmbEwWBFXoWKLgvE8dp/mFE/szRigJvLo=";
30 npmHooks.npmConfigHook
33 overrideModAttrs = oldAttrs: {
34 # Do not add `npmConfigHook` to `goModules`
35 nativeBuildInputs = lib.remove npmHooks.npmConfigHook oldAttrs.nativeBuildInputs;
36 # Do not run `preBuild` when building `goModules`
40 # Some tests require internet access, broken in sandbox
44 npm --prefix="$npmRoot" run build
51 "-X main.Version=${version}"
54 passthru.updateScript = nix-update-script { };
57 description = "Dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc";
58 homepage = "https://github.com/TimothyYe/godns";
59 changelog = "https://github.com/TimothyYe/godns/releases/tag/v${version}";
60 license = licenses.asl20;
61 maintainers = with maintainers; [ yinfeng ];
62 mainProgram = "godns";