diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index 399c9caee856..81849bb79419 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -1,24 +1,26 @@ { lib, + stdenv, fetchFromGitHub, buildGoModule, + installShellFiles, versionCheckHook, nix-update-script, }: let + mainProgram = "pinact"; +in +buildGoModule (finalAttrs: { pname = "pinact"; version = "3.1.2"; + src = fetchFromGitHub { owner = "suzuki-shunsuke"; repo = "pinact"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-5jJzlMMpfk9fFDoqR0NJNacquZ4Zma0YF/pi80Miv0Y="; }; - mainProgram = "pinact"; -in -buildGoModule { - inherit pname version src; vendorHash = "sha256-kK4r0mCktlbhJr6iHD0Q/k1DralieN2AUg+zREZ06DA="; @@ -26,6 +28,17 @@ buildGoModule { doCheck = true; + nativeBuildInputs = [ + installShellFiles + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd '${mainProgram}' \ + --bash <("$out/bin/${mainProgram}" completion bash) \ + --zsh <("$out/bin/${mainProgram}" completion zsh) \ + --fish <("$out/bin/${mainProgram}" completion fish) + ''; + nativeInstallCheckInputs = [ versionCheckHook ]; @@ -40,7 +53,7 @@ buildGoModule { ldflags = [ "-s" "-w" - "-X main.version=${version} -X main.commit=v${version}" + "-X main.version=${finalAttrs.version} -X main.commit=v${finalAttrs.version}" ]; subPackages = [ @@ -51,8 +64,8 @@ buildGoModule { inherit mainProgram; description = "Pin GitHub Actions versions"; homepage = "https://github.com/suzuki-shunsuke/pinact"; - changelog = "https://github.com/suzuki-shunsuke/pinact/releases/tag/v${version}"; + changelog = "https://github.com/suzuki-shunsuke/pinact/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ kachick ]; }; -} +})