From b6abadfc1b0ddd05f5115643c0cd69044addab97 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 22 Oct 2023 16:13:23 +0300 Subject: [PATCH] gnu: rust-xremap: Install shell completions. * gnu/packages/rust-apps.scm (rust-xremap)[arguments]: Add a phase to install the shell completions. --- gnu/packages/rust-apps.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) 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 @@ (define-public rust-xremap ("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.")