1{
2 lib,
3 stdenv,
4 fetchCrate,
5 rustPlatform,
6 installShellFiles,
7 nix-update-script,
8}:
9
10rustPlatform.buildRustPackage (finalAttrs: {
11 pname = "korrect";
12 version = "0.2.1";
13
14 src = fetchCrate {
15 inherit (finalAttrs) pname version;
16 hash = "sha256-/tFrHTZ6YHnN9OvoHBJWEnwX780DYrs0f5wV1dPyAcc=";
17 };
18 cargoHash = "sha256-bG31pqI/eB+J0FUq/lWak6Ekf+00JiCfuKZdyUkIAAw=";
19
20 passthru.updateScript = nix-update-script { };
21
22 nativeBuildInputs = [ installShellFiles ];
23
24 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
25 installShellCompletion --cmd ${finalAttrs.meta.mainProgram} \
26 --bash <($out/bin/${finalAttrs.meta.mainProgram} completions bash) \
27 --fish <($out/bin/${finalAttrs.meta.mainProgram} completions fish) \
28 --zsh <($out/bin/${finalAttrs.meta.mainProgram} completions zsh)
29 '';
30
31 meta = {
32 description = "Kubectl version managing shim that invokes the correct kubectl version";
33 homepage = "https://gitlab.com/cromulentbanana/korrect";
34 license = lib.licenses.mit;
35 maintainers = [ lib.maintainers.dwt ];
36 mainProgram = "korrect";
37 };
38})