diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix index 39aabfb30332e..70e994389e80e 100644 --- a/pkgs/misc/tmux-plugins/default.nix +++ b/pkgs/misc/tmux-plugins/default.nix @@ -882,6 +882,10 @@ in rec { }; }; + tmux-which-key = pkgs.callPackage ./tmux-which-key { + inherit mkTmuxPlugin; + }; + yank = mkTmuxPlugin { pluginName = "yank"; version = "unstable-2023-07-19"; diff --git a/pkgs/misc/tmux-plugins/tmux-which-key/default.nix b/pkgs/misc/tmux-plugins/tmux-which-key/default.nix new file mode 100644 index 0000000000000..a86ffb6a0308d --- /dev/null +++ b/pkgs/misc/tmux-plugins/tmux-which-key/default.nix @@ -0,0 +1,45 @@ +{ + mkTmuxPlugin, + fetchFromGitHub, + lib, + check-jsonschema, + python3, +}: +mkTmuxPlugin { + pluginName = "tmux-which-key"; + rtpFilePath = "plugin.sh.tmux"; + version = "0-unstable-2024-06-08"; + buildInputs = [ + check-jsonschema + (python3.withPackages (ps: with ps; [ pyyaml ])) + ]; + + postPatch = '' + substituteInPlace plugin.sh.tmux --replace-fail \ + python3 "${lib.getExe (python3.withPackages (ps: with ps; [ pyyaml ]))}" + ''; + + preInstall = '' + rm -rf plugin/pyyaml + ln -s ${python3.pkgs.pyyaml.src} plugin/pyyaml + ''; + + postInstall = '' + patchShebangs plugin.sh.tmux plugin/build.py + ''; + + src = fetchFromGitHub { + owner = "alexwforsythe"; + repo = "tmux-which-key"; + rev = "1f419775caf136a60aac8e3a269b51ad10b51eb6"; + hash = "sha256-X7FunHrAexDgAlZfN+JOUJvXFZeyVj9yu6WRnxMEA8E="; + }; + + meta = { + homepage = "https://github.com/alexwforsythe/tmux-which-key"; + description = "Tmux plugin that allows users to select actions from a customizable popup menu"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ novaviper ]; + }; +}