diff --git a/pkgs/tools/misc/thumbs/default.nix b/pkgs/tools/misc/thumbs/default.nix new file mode 100644 index 000000000000..60a1dce08c08 --- /dev/null +++ b/pkgs/tools/misc/thumbs/default.nix @@ -0,0 +1,23 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "thumbs"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "fcsonline"; + repo = "tmux-thumbs"; + rev = version; + sha256 = "sha256-PH1nscmVhxJFupS7dlbOb+qEwG/Pa/2P6XFIbR/cfaQ="; + }; + + cargoSha256 = "sha256-6htKiXMMyYRFefJzvDnmdx3CJ3XL8zONhGlV2wcbr9g="; + + cargoPatches = [ ./fix.patch ]; + meta = with lib; { + homepage = "https://github.com/fcsonline/tmux-thumbs"; + description = "A lightning fast version copy/pasting like vimium/vimperator"; + license = licenses.mit; + maintainers = with maintainers; [ ghostbuster91 ]; + }; +} diff --git a/pkgs/tools/misc/thumbs/fix.patch b/pkgs/tools/misc/thumbs/fix.patch new file mode 100644 index 000000000000..e04d7db8598a --- /dev/null +++ b/pkgs/tools/misc/thumbs/fix.patch @@ -0,0 +1,13 @@ +diff --git a/src/swapper.rs b/src/swapper.rs +index 6cf1e89..bcb0969 100644 +--- a/src/swapper.rs ++++ b/src/swapper.rs +@@ -215,7 +215,7 @@ impl<'a> Swapper<'a> { + }; + + let pane_command = format!( +- "tmux capture-pane -t {active_pane_id} -p{scroll_params} | tail -n {height} | {dir}/target/release/thumbs -f '%U:%H' -t {tmp} {args}; tmux swap-pane -t {active_pane_id}; {zoom_command} tmux wait-for -S {signal}", ++ "tmux capture-pane -t {active_pane_id} -p{scroll_params} | tail -n {height} | {dir}/thumbs -f '%U:%H' -t {tmp} {args}; tmux swap-pane -t {active_pane_id}; {zoom_command} tmux wait-for -S {signal}", + active_pane_id = active_pane_id, + scroll_params = scroll_params, + height = self.active_pane_height.unwrap_or(i32::MAX), diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 60ae4faa4391..2a4e968f4122 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1137,6 +1137,8 @@ with pkgs; tfk8s = callPackage ../tools/misc/tfk8s { }; + thumbs = callPackage ../tools/misc/thumbs { }; + tnat64 = callPackage ../tools/networking/tnat64 { }; topicctl = callPackage ../tools/misc/topicctl { };