kubectl: use installShellFiles

This commit is contained in:
zowoq 2020-12-02 08:46:57 +10:00
parent 563ff4adf9
commit d183736d69

View File

@ -1,27 +1,24 @@
{ stdenv, kubernetes }:
{ stdenv, kubernetes, installShellFiles }:
stdenv.mkDerivation {
name = "kubectl-${kubernetes.version}";
# kubectl is currently part of the main distribution but will eventially be
# split out (see homepage)
src = kubernetes;
dontUnpack = true;
nativeBuildInputs = [ installShellFiles ];
outputs = [ "out" "man" ];
installPhase = ''
mkdir -p \
"$out/bin" \
"$out/share/bash-completion/completions" \
"$out/share/zsh/site-functions" \
"$man/share/man/man1"
install -D ${kubernetes}/bin/kubectl -t $out/bin
cp bin/kubectl $out/bin/kubectl
installManPage "${kubernetes.man}/share/man/man1"/kubectl*
cp "${kubernetes.man}/share/man/man1"/kubectl* "$man/share/man/man1"
$out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl
$out/bin/kubectl completion zsh > $out/share/zsh/site-functions/_kubectl
installShellCompletion --cmd kubectl \
--bash <($out/bin/kubectl completion bash) \
--zsh <($out/bin/kubectl completion zsh)
'';
meta = kubernetes.meta // {