diff --git a/default.nix b/default.nix index 98c23e6..ad35e6f 100644 --- a/default.nix +++ b/default.nix @@ -8,7 +8,7 @@ { pkgs ? import { } }: -{ +rec { # The `lib`, `modules`, and `overlay` names are special lib = import ./lib { inherit pkgs; }; # functions modules = import ./modules; # NixOS modules @@ -28,4 +28,8 @@ inherit (pkgs.darwin.apple_sdk.frameworks) Security; }; thumbs = pkgs.callPackage ./pkgs/thumbs { }; + tmux-thumbs = pkgs.callPackage ./pkgs/tmux-thumbs { + inherit (pkgs.tmuxPlugins) mkTmuxPlugin; + inherit thumbs; + }; } diff --git a/pkgs/tmux-thumbs/default.nix b/pkgs/tmux-thumbs/default.nix new file mode 100644 index 0000000..a1832d1 --- /dev/null +++ b/pkgs/tmux-thumbs/default.nix @@ -0,0 +1,29 @@ +{ lib, mkTmuxPlugin, fetchFromGitHub, thumbs, substituteAll }: + +mkTmuxPlugin rec { + pluginName = "tmux-thumbs"; + version = "0.5.1-infdev"; + rtpFilePath = "tmux-thumbs.tmux"; + + src = fetchFromGitHub { + owner = "FliegendeWurst"; + repo = pluginName; + rev = "60824a826a0f64403fd45ded9be8cf3a130476b2"; + sha256 = "sha256-3MKhZq2ks2rBYACf1kkfRxxXNexHjnQ6/+s1wCfqHeo="; + }; + + patches = [ + (substituteAll { + src = ./fix.patch; + tmuxThumbsDir = "${thumbs}/bin"; + }) + ]; + + meta = with lib; { + homepage = "https://github.com/FliegendeWurst/tmux-thumbs"; + description = "tmux-thumbs with color support"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ fliegendewurst ]; + }; +} diff --git a/pkgs/tmux-thumbs/fix.patch b/pkgs/tmux-thumbs/fix.patch new file mode 100644 index 0000000..465b61f --- /dev/null +++ b/pkgs/tmux-thumbs/fix.patch @@ -0,0 +1,39 @@ +diff --git a/tmux-thumbs.sh b/tmux-thumbs.sh +index 34dd528..8c05d54 100755 +--- a/tmux-thumbs.sh ++++ b/tmux-thumbs.sh +@@ -3,19 +3,6 @@ + + # Setup env variables to be compatible with compiled and bundled installations + CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +-RELEASE_DIR="${CURRENT_DIR}/target/release" +- +-THUMBS_BINARY="${RELEASE_DIR}/thumbs" +-TMUX_THUMBS_BINARY="${RELEASE_DIR}/tmux-thumbs" +-VERSION=$(grep 'version =' "${CURRENT_DIR}/Cargo.toml" | grep -o "\".*\"" | sed 's/"//g') +- +-if [ ! -f "$THUMBS_BINARY" ]; then +- tmux split-window "cd ${CURRENT_DIR} && bash ./tmux-thumbs-install.sh" +- exit +-elif [[ $(${THUMBS_BINARY} --version) != "thumbs ${VERSION}" ]]; then +- tmux split-window "cd ${CURRENT_DIR} && bash ./tmux-thumbs-install.sh update" +- exit +-fi + + function get-opt-value() { + tmux show -vg "@thumbs-${1}" 2> /dev/null +@@ -35,7 +22,7 @@ + fi + } + +-PARAMS=(--dir "${CURRENT_DIR}") ++PARAMS=(--dir @tmuxThumbsDir@) + + function add-param() { + local type opt arg +@@ -50,4 +37,4 @@ + add-param multi-command string + add-param osc52 boolean + +-"${TMUX_THUMBS_BINARY}" "${PARAMS[@]}" || true ++@tmuxThumbsDir@/tmux-thumbs "${PARAMS[@]}" || true