From b52e9d5dbdd3dfb87e01d595c4f5b34f767d452a Mon Sep 17 00:00:00 2001 From: Allen Conlon Date: Sun, 21 Jul 2024 15:33:56 -0400 Subject: [PATCH] zarf: add shell completion --- .../applications/networking/cluster/zarf/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/applications/networking/cluster/zarf/default.nix b/pkgs/applications/networking/cluster/zarf/default.nix index 2f28b3fc9587..8e74c7564683 100644 --- a/pkgs/applications/networking/cluster/zarf/default.nix +++ b/pkgs/applications/networking/cluster/zarf/default.nix @@ -1,6 +1,8 @@ { lib , buildGoModule , fetchFromGitHub +, installShellFiles +, stdenv }: buildGoModule rec { @@ -17,6 +19,8 @@ buildGoModule rec { vendorHash = "sha256-+3VYBvcA8TzO9uBl0863uATOavPY9cjt8xtgW7N7C4w="; proxyVendor = true; + nativeBuildInputs = [ installShellFiles ]; + preBuild = '' mkdir -p build/ui touch build/ui/index.html @@ -26,6 +30,14 @@ buildGoModule rec { ldflags = [ "-s" "-w" "-X" "github.com/defenseunicorns/zarf/src/config.CLIVersion=${src.rev}" "-X" "k8s.io/component-base/version.gitVersion=v0.0.0+zarf${src.rev}" "-X" "k8s.io/component-base/version.gitCommit=${src.rev}" "-X" "k8s.io/component-base/version.buildDate=1970-01-01T00:00:00Z" ]; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + export K9S_LOGS_DIR=$(mktemp -d) + installShellCompletion --cmd zarf \ + --bash <($out/bin/zarf completion --no-log-file bash) \ + --fish <($out/bin/zarf completion --no-log-file fish) \ + --zsh <($out/bin/zarf completion --no-log-file zsh) + ''; + meta = with lib; { description = "DevSecOps for Air Gap & Limited-Connection Systems. https://zarf.dev"; mainProgram = "zarf";