diff options
Diffstat (limited to 'pkgs/applications/version-management/gitoxide/default.nix')
-rw-r--r-- | pkgs/applications/version-management/gitoxide/default.nix | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix index ed3f3c8764f4..eb3ee122bf51 100644 --- a/pkgs/applications/version-management/gitoxide/default.nix +++ b/pkgs/applications/version-management/gitoxide/default.nix @@ -9,9 +9,14 @@ , SystemConfiguration , curl , openssl +, buildPackages +, installShellFiles }: -rustPlatform.buildRustPackage rec { +let + canRunCmd = stdenv.hostPlatform.emulatorAvailable buildPackages; + gix = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/gix"; +in rustPlatform.buildRustPackage rec { pname = "gitoxide"; version = "0.33.0"; @@ -24,12 +29,19 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-JOl/hhyuc6vqeK6/oXXMB3fGRapBsuOTaUG+BQ9QSnk="; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ cmake pkg-config installShellFiles ]; buildInputs = [ curl ] ++ (if stdenv.isDarwin then [ libiconv Security SystemConfiguration ] else [ openssl ]); + preFixup = lib.optionalString canRunCmd '' + installShellCompletion --cmd gix \ + --bash <(${gix} completions --shell bash) \ + --fish <(${gix} completions --shell fish) \ + --zsh <(${gix} completions --shell zsh) + ''; + # Needed to get openssl-sys to use pkg-config. env.OPENSSL_NO_VENDOR = 1; |