traefik: add djds as maintainer (#377217)
[NixPkgs.git] / pkgs / by-name / ku / kubecolor / package.nix
blob56f75358792dbbe002bb979919fc369b267542af
2   lib,
3   stdenv,
4   buildGoModule,
5   fetchFromGitHub,
6   kubectl,
7   installShellFiles,
8 }:
10 buildGoModule rec {
11   pname = "kubecolor";
12   version = "0.5.0";
14   src = fetchFromGitHub {
15     owner = "kubecolor";
16     repo = "kubecolor";
17     rev = "v${version}";
18     sha256 = "sha256-Q3Bl1ejuSpiMpQgiqKa2x/g02hNx326GM2MIDoi7q7o=";
19   };
21   vendorHash = "sha256-SWJbJ/zr9ygZYUuH8QNvgmUXdxb/3OViai48CFmWmXw=";
23   ldflags = [
24     "-s"
25     "-w"
26     "-X main.Version=${version}"
27   ];
29   subPackages = [
30     "."
31   ];
33   nativeBuildInputs = [ installShellFiles ];
35   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
36     # kubecolor re-uses the completions of kubectl for its own executable
38     installShellCompletion --cmd kubecolor \
39       --bash <(${lib.getExe kubectl} completion bash) \
40       --fish <(${lib.getExe kubectl} completion fish) \
41       --zsh <(${lib.getExe kubectl} completion zsh)
43     # https://kubecolor.github.io/setup/shells/bash/
44     echo 'complete -o default -F __start_kubectl kubecolor' >> $out/share/bash-completion/completions/kubecolor.bash
46     # https://kubecolor.github.io/setup/shells/fish/
47     echo -e 'function kubecolor --wraps kubectl\n  command kubecolor $argv\nend' >> $out/share/fish/vendor_completions.d/kubecolor.fish
49     # https://kubecolor.github.io/setup/shells/zsh/
50     echo 'compdef kubecolor=kubectl' >> $out/share/zsh/site-functions/_kubecolor
51   '';
53   meta = with lib; {
54     description = "Colorizes kubectl output";
55     mainProgram = "kubecolor";
56     homepage = "https://github.com/kubecolor/kubecolor";
57     changelog = "https://github.com/kubecolor/kubecolor/releases/tag/v${version}";
58     license = licenses.mit;
59     maintainers = with maintainers; [
60       ivankovnatsky
61       SuperSandro2000
62       applejag
63     ];
64   };