Subject: [PATCH] gnu: borg: Install shell completions.

From: Michael Rohleder <[email-masked]>
Date: Mon, 28 Dec 2020 14:36:22 +0100

* gnu/packages/backup.scm (borg)[arguments]: Add phase to install shell completions.
---
 gnu/packages/backup.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 892b92dc2f..0db2c47b2d 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2019 Mathieu Othacehe <[email-masked]>
 ;;; Copyright © 2020 Nicolas Goaziou <[email-masked]>
 ;;; Copyright © 2020 Marcin Karpezo <[email-masked]>
+;;; Copyright © 2020 Michael Rohleder <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -670,6 +671,19 @@ detection, and lossless compression.")
                            "docs/misc/internals-picture.txt"
                            "docs/misc/prune-example.txt"))
                (copy-recursively "docs/man" man)
+               #t)))
+         (add-after 'install-docs 'install-shell-completions
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (etc (string-append out "/etc"))
+                    (share (string-append out "/share")))
+               (with-directory-excursion "scripts/shell_completions"
+                 (install-file "bash/borg"
+                               (string-append etc "/bash_completion.d"))
+                 (install-file "zsh/_borg"
+                               (string-append share "/zsh/site-functions"))
+                 (install-file "fish/borg.fish"
+                               (string-append share "/fish/vendor_completions.d")))
                #t))))))
     (native-inputs
      `(("python-cython" ,python-cython)
-- 
2.29.2