diff --git a/pkgs/tools/security/saml2aws/default.nix b/pkgs/tools/security/saml2aws/default.nix index 72d1580134b4..14e408275e34 100644 --- a/pkgs/tools/security/saml2aws/default.nix +++ b/pkgs/tools/security/saml2aws/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, AppKit }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + AppKit, +}: buildGoModule rec { pname = "saml2aws"; @@ -13,19 +20,29 @@ buildGoModule rec { vendorHash = "sha256-gtl8T8wXnpLgDZc6qSgFKpA+XbcLNHf20ieBkyNdE+s="; + nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optionals stdenv.isDarwin [ AppKit ]; - subPackages = [ "." "cmd/saml2aws" ]; + subPackages = [ + "." + "cmd/saml2aws" + ]; ldflags = [ "-X main.Version=${version}" ]; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd saml2aws \ + --bash <($out/bin/saml2aws --completion-script-bash) \ + --zsh <($out/bin/saml2aws --completion-script-zsh) + ''; + meta = with lib; { description = "CLI tool which enables you to login and retrieve AWS temporary credentials using a SAML IDP"; mainProgram = "saml2aws"; - homepage = "https://github.com/Versent/saml2aws"; - license = licenses.mit; + homepage = "https://github.com/Versent/saml2aws"; + license = licenses.mit; maintainers = [ lib.maintainers.pmyjavec ]; }; }