about summary refs log tree commit diff
path: root/pkgs/applications/networking/sync
diff options
context:
space:
mode:
authorMario Rodas <marsam@users.noreply.github.com>2020-02-01 06:27:00 -0500
committerMario Rodas <marsam@users.noreply.github.com>2020-02-01 06:27:00 -0500
commit08dc02a07b52380008b33256ca6ef1a87df6bc08 (patch)
treedff7ef470163c642b77c0d1b970200d80d890140 /pkgs/applications/networking/sync
parent5c992241ed707763ad91ca5eeb454801f559cd99 (diff)
downloadnixlib-08dc02a07b52380008b33256ca6ef1a87df6bc08.tar
nixlib-08dc02a07b52380008b33256ca6ef1a87df6bc08.tar.gz
nixlib-08dc02a07b52380008b33256ca6ef1a87df6bc08.tar.bz2
nixlib-08dc02a07b52380008b33256ca6ef1a87df6bc08.tar.lz
nixlib-08dc02a07b52380008b33256ca6ef1a87df6bc08.tar.xz
nixlib-08dc02a07b52380008b33256ca6ef1a87df6bc08.tar.zst
nixlib-08dc02a07b52380008b33256ca6ef1a87df6bc08.zip
rclone: install completions
Diffstat (limited to 'pkgs/applications/networking/sync')
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix18
1 files changed, 14 insertions, 4 deletions
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index c40b1573e566..d6f37583abe5 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, buildPackages }:
 
 buildGoPackage rec {
   pname = "rclone";
@@ -17,9 +17,19 @@ buildGoPackage rec {
 
   outputs = [ "bin" "out" "man" ];
 
-  postInstall = ''
-    install -D -m644 $src/rclone.1 $man/share/man/man1/rclone.1
-  '';
+  postInstall =
+    let
+      rcloneBin =
+        if stdenv.buildPlatform == stdenv.hostPlatform
+        then "$bin"
+        else stdenv.lib.getBin buildPackages.rclone;
+    in
+      ''
+        install -D -m644 $src/rclone.1 $man/share/man/man1/rclone.1
+        mkdir -p $bin/share/zsh/site-functions $bin/share/bash-completion/completions/
+        ${rcloneBin}/bin/rclone genautocomplete zsh $bin/share/zsh/site-functions/_rclone
+        ${rcloneBin}/bin/rclone genautocomplete bash $bin/share/bash-completion/completions/rclone.bash
+      '';
 
   meta = with stdenv.lib; {
     description = "Command line program to sync files and directories to and from major cloud storage";