From 50c374afc65d4e4e30e79c781080c2ff7416153f Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Tue, 25 Mar 2025 15:57:09 +0100 Subject: [PATCH] mcap-cli: Install shell completion --- pkgs/by-name/mc/mcap-cli/package.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/by-name/mc/mcap-cli/package.nix b/pkgs/by-name/mc/mcap-cli/package.nix index ecbe96e0262b..855caa82deda 100644 --- a/pkgs/by-name/mc/mcap-cli/package.nix +++ b/pkgs/by-name/mc/mcap-cli/package.nix @@ -1,7 +1,10 @@ { + stdenv, lib, buildGoModule, + buildPackages, fetchFromGitHub, + installShellFiles, nix-update-script, }: let @@ -22,6 +25,10 @@ buildGoModule { vendorHash = "sha256-ofJYarmnOHONu2lZ76GvSua0ViP1gr6968xAuQ/VRNk="; + nativeBuildInputs = [ + installShellFiles + ]; + modRoot = "go/cli/mcap"; env.GOWORK = "off"; @@ -39,6 +46,17 @@ buildGoModule { "-skip=TestCat|TestInfo" ]; + postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ( + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in + '' + installShellCompletion --cmd mcap \ + --bash <(${emulator} $out/bin/mcap completion bash) \ + --fish <(${emulator} $out/bin/mcap completion fish) \ + --zsh <(${emulator} $out/bin/mcap completion zsh) + '' + ); passthru = { updateScript = nix-update-script { }; };