about summary refs log tree commit diff
path: root/pkgs/applications/networking/cluster
diff options
context:
space:
mode:
authorzowoq <59103226+zowoq@users.noreply.github.com>2020-12-02 08:46:57 +1000
committerzowoq <59103226+zowoq@users.noreply.github.com>2020-12-09 17:28:26 +1000
commitd183736d699bf65c1fbf5b3b7bbfac2f28d726cd (patch)
treea4d89edae76662b17e622de305f1900ecf76f9f4 /pkgs/applications/networking/cluster
parent563ff4adf9b0c25453d4b6448da14524eb91458e (diff)
downloadnixlib-d183736d699bf65c1fbf5b3b7bbfac2f28d726cd.tar
nixlib-d183736d699bf65c1fbf5b3b7bbfac2f28d726cd.tar.gz
nixlib-d183736d699bf65c1fbf5b3b7bbfac2f28d726cd.tar.bz2
nixlib-d183736d699bf65c1fbf5b3b7bbfac2f28d726cd.tar.lz
nixlib-d183736d699bf65c1fbf5b3b7bbfac2f28d726cd.tar.xz
nixlib-d183736d699bf65c1fbf5b3b7bbfac2f28d726cd.tar.zst
nixlib-d183736d699bf65c1fbf5b3b7bbfac2f28d726cd.zip
kubectl: use installShellFiles
Diffstat (limited to 'pkgs/applications/networking/cluster')
-rw-r--r--pkgs/applications/networking/cluster/kubectl/default.nix21
1 files changed, 9 insertions, 12 deletions
diff --git a/pkgs/applications/networking/cluster/kubectl/default.nix b/pkgs/applications/networking/cluster/kubectl/default.nix
index fed40523a9b7..c550a0e2f2b6 100644
--- a/pkgs/applications/networking/cluster/kubectl/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl/default.nix
@@ -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"
-
-    cp bin/kubectl $out/bin/kubectl
+    install -D ${kubernetes}/bin/kubectl -t $out/bin
 
-    cp "${kubernetes.man}/share/man/man1"/kubectl* "$man/share/man/man1"
+    installManPage "${kubernetes.man}/share/man/man1"/kubectl*
 
-    $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 // {