summaryrefslogtreecommitdiff
path: root/gnu/packages/rust-apps.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-10-22 16:13:23 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-10-22 16:38:42 +0300
commitb6abadfc1b0ddd05f5115643c0cd69044addab97 (patch)
treebfb916236924a57b18cb499da86fa3c2d6dbc3ad /gnu/packages/rust-apps.scm
parent14ce473e8e1c8226d033d9e1898dafb18c3d2a77 (diff)
gnu: rust-xremap: Install shell completions.
* gnu/packages/rust-apps.scm (rust-xremap)[arguments]: Add a phase to install the shell completions.
Diffstat (limited to 'gnu/packages/rust-apps.scm')
-rw-r--r--gnu/packages/rust-apps.scm25
1 files changed, 24 insertions, 1 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 0cf7de0bf9..9c349353ec 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -2545,7 +2545,30 @@ It will then write @code{fixup!} commits for each of those changes.")
("rust-wayland-client" ,rust-wayland-client-0.30)
("rust-wayland-protocols-wlr" ,rust-wayland-protocols-wlr-0.1)
("rust-x11rb" ,rust-x11rb-0.12)
- ("rust-zbus" ,rust-zbus-1))))
+ ("rust-zbus" ,rust-zbus-1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-completions
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (xremap (string-append out "/bin/xremap")))
+ (mkdir-p (string-append share "/bash-completion/completions"))
+ (with-output-to-file
+ (string-append share "/bash-completion/completions/xremap")
+ (lambda _ (invoke xremap "--completions" "bash")))
+ (mkdir-p (string-append share "/fish/vendor_completions.d"))
+ (with-output-to-file
+ (string-append share "/fish/vendor_completions.d/xremap.fish")
+ (lambda _ (invoke xremap "--completions" "fish")))
+ (mkdir-p (string-append share "/zsh/site-functions"))
+ (with-output-to-file
+ (string-append share "/zsh/site-functions/_xremap")
+ (lambda _ (invoke xremap "--completions" "zsh")))
+ (mkdir-p (string-append share "/elvish/lib"))
+ (with-output-to-file
+ (string-append share "/elvish/lib/xremap")
+ (lambda _ (invoke xremap "--completions" "elvish")))))))))
(home-page "https://github.com/k0kubun/xremap")
(synopsis "Dynamic key remapp for X and Wayland")
(description "This package provides dynamic key remapp for X and Wayland.")