14 src = fetchFromGitHub {
17 rev = "refs/tags/v${version}";
18 hash = "sha256-a8qa8dlFn0+mE2SeDJPZ0OI4EkA/GGFYxkNQE5yKjvM=";
21 vendorHash = "sha256-ui7GiLR5um8TGrVS+MCXzop1tkeysxBYFrD2Fh0tnBI=";
22 npmDeps = fetchNpmDeps {
24 hash = "sha256-oPE69+R66r1LpryAu3ImKKRVDrzXAiDpeCwdQKRmVj0=";
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";