about summary refs log tree commit diff
path: root/pkgs/misc/tmux-plugins
diff options
context:
space:
mode:
authorpjan vandaele <pjan@pjan.io>2018-03-11 17:47:36 +0900
committerpjan vandaele <pjan@pjan.io>2018-03-11 17:47:36 +0900
commit3f5b03551f5f4cbb774884fa3c5851aec7d69728 (patch)
tree8f8cff7359422577f6d5d2543dac18332193b35f /pkgs/misc/tmux-plugins
parent7a04c2ca296c0698f1c7d5c17be7f931f77691f7 (diff)
downloadnixlib-3f5b03551f5f4cbb774884fa3c5851aec7d69728.tar
nixlib-3f5b03551f5f4cbb774884fa3c5851aec7d69728.tar.gz
nixlib-3f5b03551f5f4cbb774884fa3c5851aec7d69728.tar.bz2
nixlib-3f5b03551f5f4cbb774884fa3c5851aec7d69728.tar.lz
nixlib-3f5b03551f5f4cbb774884fa3c5851aec7d69728.tar.xz
nixlib-3f5b03551f5f4cbb774884fa3c5851aec7d69728.tar.zst
nixlib-3f5b03551f5f4cbb774884fa3c5851aec7d69728.zip
adds tmuxPlugins
Diffstat (limited to 'pkgs/misc/tmux-plugins')
-rw-r--r--pkgs/misc/tmux-plugins/default.nix224
1 files changed, 224 insertions, 0 deletions
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
new file mode 100644
index 000000000000..b29565d01ecb
--- /dev/null
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -0,0 +1,224 @@
+{ fetchgit, stdenv, pkgs }:
+
+let
+  rtpPath = "share/tmux-plugins";
+
+  addRtp = path: pluginName: attrs: derivation:
+    derivation // { rtp = "${derivation}/${path}/${builtins.replaceStrings ["-"] ["_"] pluginName}.tmux"; } // {
+      overrideAttrs = f: buildTmuxPlugin (attrs // f attrs);
+    };
+
+  buildTmuxPlugin = a@{
+    pluginName,
+    namePrefix ? "tmuxplugin-",
+    src,
+    unpackPhase ? "",
+    configurePhase ? "",
+    buildPhase ? "",
+    addonInfo ? null,
+    preInstall ? "",
+    postInstall ? "",
+    path ? (builtins.parseDrvName pluginName).name,
+    dependencies ? [],
+    ...
+  }:
+    addRtp "${rtpPath}/${path}" pluginName a (stdenv.mkDerivation (a // {
+      name = namePrefix + pluginName;
+
+      inherit pluginName unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
+
+      installPhase = ''
+        runHook preInstall
+
+        target=$out/${rtpPath}/${path}
+        mkdir -p $out/${rtpPath}
+        cp -r . $target
+        if [ -n "$addonInfo" ]; then
+          echo "$addonInfo" > $target/addon-info.json
+        fi
+
+        runHook postInstall
+      '';
+
+      dependencies = [ pkgs.bash ] ++ dependencies;
+    }));
+
+  buildTmuxPluginFrom2Nix = a: buildTmuxPlugin ({
+    buildPhase = ":";
+    configurePhase =":";
+  } // a);
+
+in rec {
+
+  battery = buildTmuxPluginFrom2Nix {
+    pluginName = "battery";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-battery";
+      rev = "09be78c35ee84f858f724442b94ad045ade23eb0";
+      sha256 = "0gm6qiay0k5b3yzrabfmh4inyh9r6rfhja2l3r4cixcvc8sgvh8l";
+    };
+  };
+
+  continuum = buildTmuxPluginFrom2Nix {
+    pluginName = "continuum";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-continuum";
+      rev = "90f4a00c41de094864dd4e29231253bcd80d4409";
+      sha256 = "1hviqz62mnq5h4vgcy9bl5004q18yz5b90bnih0ibsna877x3nbc";
+    };
+    dependencies = [ resurrect ];
+  };
+
+  copycat = buildTmuxPluginFrom2Nix {
+    pluginName = "copycat";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-copycat";
+      rev = "6f9b9cd2d93872cef60e3ea7f7ae89598569ed25";
+      sha256 = "12dgn5wnzrhd6sqa64w875ld3lrrny8xvdq6b6lzxyain9q49mrf";
+    };
+  };
+
+  cpu = buildTmuxPluginFrom2Nix {
+    pluginName = "cpu";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-cpu";
+      rev = "12f7a74e25bf59701456e2c0d98b39bb19ec7039";
+      sha256 = "0qxn8ngg297980lj6w8ih2m8m8bxxdbcz5hsjmlia92h5rdkm5kl";
+    };
+  };
+
+  fpp = buildTmuxPluginFrom2Nix {
+    pluginName = "fpp";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-fpp";
+      rev = "ca125d5a9c80bb156ac114ac3f3d5951a795c80e";
+      sha256 = "1b89s6mfzifi7s5iwf22w7niddpq28w48nmqqy00dv38z4yga5ws";
+    };
+    postInstall = ''
+      sed -i -e 's|fpp |${pkgs.fpp}/bin/fpp |g' $target/fpp.tmux
+    '';
+    dependencies = [ pkgs.fpp ];
+  };
+
+  logging = buildTmuxPluginFrom2Nix {
+    pluginName = "logging";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-logging";
+      rev = "b2706119cd587230beae02980d3d7fa2d5afebe9";
+      sha256 = "1w1ymscfbz87lypaxgjdva1rg7jw2jyf7nnfgyngghw9m1l2xk2c";
+    };
+  };
+
+  net-speed = buildTmuxPluginFrom2Nix {
+    pluginName = "net-speed";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-net-speed";
+      rev = "536d2bdd053a3bdfcc5cf7680c0dba76127c95ca";
+      sha256 = "1bly5f40dgiym378jkfwm7qag9xl6qvziqiqnj65yblqd5py325z";
+    };
+  };
+
+  maildir-counter = buildTmuxPluginFrom2Nix {
+    pluginName = "maildir-counter";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-maildir-counter";
+      rev = "9415f0207e71e37cbd870c9443426dbea6da78b9";
+      sha256 = "0dwvqhiv9bjwr01hsi5c57n55jyv5ha5m5q1aqgglf4wyhbnfms4";
+    };
+  };
+
+  online-status = buildTmuxPluginFrom2Nix {
+    pluginName = "online-status";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-online-status";
+      rev = "ea86704ced8a20f4a431116aa43f57edcf5a6312";
+      sha256 = "1hy3vg8v2sir865ylpm2r4ip1zgd4wlrf24jbwh16m23qdcvc19r";
+    };
+  };
+
+  open = buildTmuxPluginFrom2Nix {
+    pluginName = "open";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-open";
+      rev = "f99d3189c445188eae5fa9bfeabc95df16deca92";
+      sha256 = "13q3zd5jv7akkjjwhgimmfylrvalxdn54fnpfb14g6xam6h8808m";
+    };
+  };
+
+  pain-control = buildTmuxPluginFrom2Nix {
+    pluginName = "pain-control";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-pain-control";
+      rev = "731667692da46d51a6a9dffb4c43384a5d68ff28";
+      sha256 = "1ihpl5wgjmhfgcrasgnydd7vpsar865sx2whra19gpfm4bglmdzl";
+    };
+  };
+
+  prefix-highlight = buildTmuxPluginFrom2Nix {
+    pluginName = "prefix-highlight";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-prefix-highlight";
+      rev = "34f7125ae46e5123bedad03e08027332d1186186";
+      sha256 = "16z8sm8pifg1m9lmv0z50fb0ws9mk5zqs7a1ddl2bfwkqi7yc0c0";
+    };
+  };
+
+  resurrect = buildTmuxPluginFrom2Nix {
+    pluginName = "resurrect";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-resurrect";
+      rev = "7c77c70483b818d331e46c4cf64c716ded09a152";
+      sha256 = "08gjxwdmfy16xpgi87rp9dj5338imqsy392pixf7xcnr05413ap1";
+    };
+  };
+
+  sensible = buildTmuxPluginFrom2Nix {
+    pluginName = "sensible";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-sensible";
+      rev = "e91b178ff832b7bcbbf4d99d9f467f63fd1b76b5";
+      sha256 = "1z8dfbwblrbmb8sgb0k8h1q0dvfdz7gw57las8nwd5gj6ss1jyvx";
+    };
+  };
+
+  sessionist = buildTmuxPluginFrom2Nix {
+    pluginName = "sessionist";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-sessionist";
+      rev = "09ec86be38eae98ffc27bd0dde605ed10ae0dc89";
+      sha256 = "030q2mmj8akbc26jnqn8n7fckg1025p0ildx4wr401b6p1snnlw4";
+    };
+  };
+
+  sidebar = buildTmuxPluginFrom2Nix {
+    pluginName = "sidebar";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-sidebar";
+      rev = "23014524cab53f8d36373983500fe05a527a444d";
+      sha256 = "1w363587isdip1r81h0vkp5163lpa83lvasg8l04h43sbip2y6i8";
+    };
+  };
+
+  urlview = buildTmuxPluginFrom2Nix {
+    pluginName = "urlview";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-urlview";
+      rev = "b84c876cffdd22990b4ab51247e795cbd7813d53";
+      sha256 = "1jp4jq57cn116b3i34v6yy69izd8s6mp2ijr260cw86g0470k0fn";
+    };
+    postInstall = ''
+      sed -i -e '14,20{s|urlview|${pkgs.urlview}/bin/urlview|g}' $target/urlview.tmux
+    '';
+    dependencies = [ pkgs.urlview ];
+  };
+
+  yank = buildTmuxPluginFrom2Nix {
+    pluginName = "yank";
+    src = fetchgit {
+      url = "https://github.com/tmux-plugins/tmux-yank";
+      rev = "feb9611b7d1c323ca54cd8a5111a53e3e8265b59";
+      sha256 = "1ywbm09jfh6cm2m6gracmdc3pp5p2dwraalbhfaafqaydjr22qc3";
+    };
+  };
+
+}