about summary refs log tree commit diff
path: root/pkgs/by-name/st/step-cli/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/st/step-cli/package.nix')
-rw-r--r--pkgs/by-name/st/step-cli/package.nix74
1 files changed, 43 insertions, 31 deletions
diff --git a/pkgs/by-name/st/step-cli/package.nix b/pkgs/by-name/st/step-cli/package.nix
index c33aec603b1e3..e901cf614f093 100644
--- a/pkgs/by-name/st/step-cli/package.nix
+++ b/pkgs/by-name/st/step-cli/package.nix
@@ -1,41 +1,53 @@
 {
   lib,
+  stdenv,
   buildGoModule,
   fetchFromGitHub,
-}: let
-  version = "0.26.2";
+  installShellFiles,
+}:
+let
+  version = "0.27.2";
 in
-  buildGoModule {
-    pname = "step-cli";
-    inherit version;
+buildGoModule {
+  pname = "step-cli";
+  inherit version;
 
-    src = fetchFromGitHub {
-      owner = "smallstep";
-      repo = "cli";
-      rev = "refs/tags/v${version}";
-      hash = "sha256-CrV6kWgq2ldeOh5G0SgO8+q0HC1l8RuTELT3YXLxClU=";
-    };
+  src = fetchFromGitHub {
+    owner = "smallstep";
+    repo = "cli";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9w7rUtlLa1kl9oVboWZWj4eoZh+pPdGsEEQDWYdEMns=";
+  };
 
-    ldflags = [
-      "-w"
-      "-s"
-      "-X=main.Version=${version}"
-    ];
+  ldflags = [
+    "-w"
+    "-s"
+    "-X=main.Version=${version}"
+  ];
 
-    preCheck = ''
-      # Tries to connect to smallstep.com
-      rm command/certificate/remote_test.go
-    '';
+  preCheck = ''
+    # Tries to connect to smallstep.com
+    rm command/certificate/remote_test.go
+  '';
 
-    vendorHash = "sha256-pqwrjreysMLfVmzPE7Tj/hLdM1HO13UfmbMXvNgLd5Y=";
+  vendorHash = "sha256-GD9TAvWqE3nvgVpoy/4CkkdVxliNMy+GNBXJtGSNVqo=";
 
-    meta = {
-      description = "Zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
-      homepage = "https://smallstep.com/cli/";
-      changelog = "https://github.com/smallstep/cli/blob/v${version}/CHANGELOG.md";
-      license = lib.licenses.asl20;
-      maintainers = with lib.maintainers; [isabelroses];
-      platforms = lib.platforms.linux ++ lib.platforms.darwin;
-      mainProgram = "step";
-    };
-  }
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd step \
+      --bash <($out/bin/step completion bash) \
+      --zsh <($out/bin/step completion zsh) \
+      --fish <($out/bin/step completion fish)
+  '';
+
+  meta = {
+    description = "Zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
+    homepage = "https://smallstep.com/cli/";
+    changelog = "https://github.com/smallstep/cli/blob/v${version}/CHANGELOG.md";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ isabelroses ];
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
+    mainProgram = "step";
+  };
+}