{ stdenv, lib, buildGoModule, fetchFromGitHub, isUnstable, makeWrapper, go, git, ... }: let vendorHash = if isUnstable then "" else "sha256-7CnkKMZ1so1lflmp4D9EAESR6/u9ys5CTuVOsYetp0I="; in with lib; buildGoModule rec { pname = "athens"; version = "0.11.0"; src = fetchFromGitHub { owner = "gomods"; repo = pname; rev = "v${version}"; sha256 = "sha256-hkewZ21ElkoDsbPPiCZNmWu4MBlKTlnrK72/xCX06Sk="; }; doCheck = false; ldflags = ["-X github.com/gomods/athens/pkg/build.version=${version}"]; nativeBuildInputs = lib.optionals stdenv.isLinux [makeWrapper go]; proxyVendor = true; subPackages = ["cmd/proxy"]; vendorSha256 = vendorHash; postInstall = lib.optionalString stdenv.isLinux '' mv $out/bin/proxy $out/bin/athens wrapProgram $out/bin/athens --prefix PATH : ${lib.makeBinPath [git]} ''; meta = { description = "A Go module datastore and proxy"; homepage = "https://github.com/gomods/athens"; license = licenses.mit; maintainers = with maintainers; [qbit]; }; }