From 3f5b03551f5f4cbb774884fa3c5851aec7d69728 Mon Sep 17 00:00:00 2001 From: pjan vandaele Date: Sun, 11 Mar 2018 17:47:36 +0900 Subject: adds tmuxPlugins --- pkgs/misc/tmux-plugins/default.nix | 224 +++++++++++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 pkgs/misc/tmux-plugins/default.nix (limited to 'pkgs/misc') 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"; + }; + }; + +} -- cgit 1.4.1