1{ lib
2, fetchFromGitHub
3, pkgs
4, stdenv
5}:
6
7let
8 rtpPath = "share/tmux-plugins";
9
10 addRtp = path: rtpFilePath: attrs: derivation:
11 derivation // { rtp = "${derivation}/${path}/${rtpFilePath}"; } // {
12 overrideAttrs = f: mkTmuxPlugin (attrs // f attrs);
13 };
14
15 mkTmuxPlugin = a@{
16 pluginName,
17 rtpFilePath ? (builtins.replaceStrings ["-"] ["_"] pluginName) + ".tmux",
18 namePrefix ? "tmuxplugin-",
19 src,
20 unpackPhase ? "",
21 configurePhase ? ":",
22 buildPhase ? ":",
23 addonInfo ? null,
24 preInstall ? "",
25 postInstall ? "",
26 path ? lib.getName pluginName,
27 ...
28 }:
29 if lib.hasAttr "dependencies" a then
30 throw "dependencies attribute is obselete. see NixOS/nixpkgs#118034" # added 2021-04-01
31 else addRtp "${rtpPath}/${path}" rtpFilePath a (stdenv.mkDerivation (a // {
32 pname = namePrefix + pluginName;
33
34 inherit pluginName unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
35
36 installPhase = ''
37 runHook preInstall
38
39 target=$out/${rtpPath}/${path}
40 mkdir -p $out/${rtpPath}
41 cp -r . $target
42 if [ -n "$addonInfo" ]; then
43 echo "$addonInfo" > $target/addon-info.json
44 fi
45
46 runHook postInstall
47 '';
48 }));
49
50in rec {
51 inherit mkTmuxPlugin;
52
53 mkDerivation = throw "tmuxPlugins.mkDerivation is deprecated, use tmuxPlugins.mkTmuxPlugin instead"; # added 2021-03-14
54
55 battery = mkTmuxPlugin {
56 pluginName = "battery";
57 version = "unstable-2019-07-04";
58 src = fetchFromGitHub {
59 owner = "tmux-plugins";
60 repo = "tmux-battery";
61 rev = "f8b8e8451990365e0c98c38c184962e4f83b793b";
62 sha256 = "1bhdzsx3kdjqjmm1q4j8937lrpkzf71irr3fqhdbddsghwrrmwim";
63 };
64 };
65
66 better-mouse-mode = mkTmuxPlugin {
67 pluginName = "better-mouse-mode";
68 version = "unstable-2021-08-02";
69 src = fetchFromGitHub {
70 owner = "NHDaly";
71 repo = "tmux-better-mouse-mode";
72 rev = "aa59077c635ab21b251bd8cb4dc24c415e64a58e";
73 sha256 = "06346ih3hzwszhkj25g4xv5av7292s6sdbrdpx39p0n3kgf5mwww";
74 };
75 rtpFilePath = "scroll_copy_mode.tmux";
76 meta = {
77 homepage = "https://github.com/NHDaly/tmux-better-mouse-mode";
78 description = "better mouse support for tmux";
79 longDescription =
80 ''
81 Features:
82
83 * Emulate mouse-support for full-screen programs like less that don't provide built in mouse support.
84 * Exit copy-mode and return to your prompt by scrolling back all the way down to the bottom.
85 * Adjust your scrolling speed.
86 '';
87 license = lib.licenses.mit;
88 platforms = lib.platforms.unix;
89 maintainers = with lib.maintainers; [ chrispickard ];
90 };
91 };
92
93 continuum = mkTmuxPlugin {
94 pluginName = "continuum";
95 version = "unstable-2020-10-16";
96 src = fetchFromGitHub {
97 owner = "tmux-plugins";
98 repo = "tmux-continuum";
99 rev = "26eb5ffce0b559d682b9f98c8d4b6c370ecb639b";
100 sha256 = "1glwa89bv2r92qz579a49prk3jf612cpd5hw46j4wfb35xhnj3ab";
101 };
102 meta = {
103 homepage = "https://github.com/tmux-plugins/tmux-continuum";
104 description = "continous saving of tmux environment";
105 longDescription =
106 ''
107 Features:
108 * continuous saving of tmux environment
109 * automatic tmux start when computer/server is turned on
110 * automatic restore when tmux is started
111
112 Together, these features enable uninterrupted tmux usage. No matter the
113 computer or server restarts, if the machine is on, tmux will be there how
114 you left it off the last time it was used.
115 '';
116 license = lib.licenses.mit;
117 platforms = lib.platforms.unix;
118 maintainers = with lib.maintainers; [ ronanmacf ];
119 };
120 };
121
122 copycat = mkTmuxPlugin {
123 pluginName = "copycat";
124 version = "unstable-2020-01-09";
125 src = fetchFromGitHub {
126 owner = "tmux-plugins";
127 repo = "tmux-copycat";
128 rev = "77ca3aab2aed8ede3e2b941079b1c92dd221cf5f";
129 sha256 = "1bchwzhai8k5rk32n4lrmh56rw944jqxr8imjk74hyaa7bbn81ds";
130 };
131 };
132
133 cpu = mkTmuxPlugin {
134 pluginName = "cpu";
135 version = "unstable-2020-07-25";
136 src = fetchFromGitHub {
137 owner = "tmux-plugins";
138 repo = "tmux-cpu";
139 rev = "20120a38ade17057441482b43eb5390e6ea2c1c1";
140 sha256 = "1gdz2awyd9icvyiw2p40gwymh6ngjhb9mkiv63ix53snp9ii794i";
141 };
142 };
143
144 ctrlw = mkTmuxPlugin rec {
145 pluginName = "ctrlw";
146 version = "0.1.1";
147 src = fetchFromGitHub {
148 owner = "eraserhd";
149 repo = "tmux-ctrlw";
150 rev = "v${version}";
151 sha256 = "1kv5pqfjczd6z7i9jf6j5xmcai50l9bn5p2p1w1l5fi6cj8cz1k1";
152 };
153 };
154
155 dracula = mkTmuxPlugin rec {
156 pluginName = "dracula";
157 version = "2.0.0";
158 src = fetchFromGitHub {
159 owner = "dracula";
160 repo = "tmux";
161 rev = "v${version}";
162 sha256 = "ILs+GMltb2AYNUecFMyQZ/AuETB0PCFF2InSnptVBos=";
163 };
164 meta = with lib; {
165 homepage = "https://draculatheme.com/tmux";
166 description = "A feature packed Dracula theme for tmux!";
167 license = licenses.mit;
168 platforms = platforms.unix;
169 maintainers = with maintainers; [ ethancedwards8 ];
170 };
171 };
172
173 extrakto = mkTmuxPlugin {
174 pluginName = "extrakto";
175 version = "unstable-2021-04-04";
176 src = fetchFromGitHub {
177 owner = "laktak";
178 repo = "extrakto";
179 rev = "de8ac3e8a9fa887382649784ed8cae81f5757f77";
180 sha256 = "0mkp9r6mipdm7408w7ls1vfn6i3hj19nmir2bvfcp12b69zlzc47";
181 };
182 nativeBuildInputs = [ pkgs.makeWrapper ];
183 postInstall = ''
184 for f in extrakto.sh open.sh tmux-extrakto.sh; do
185 wrapProgram $target/scripts/$f \
186 --prefix PATH : ${with pkgs; lib.makeBinPath (
187 [ pkgs.fzf pkgs.python3 pkgs.xclip ]
188 )}
189 done
190
191 '';
192 meta = {
193 homepage = "https://github.com/laktak/extrakto";
194 description = "Fuzzy find your text with fzf instead of selecting it by hand ";
195 license = lib.licenses.mit;
196 platforms = lib.platforms.unix;
197 maintainers = with lib.maintainers; [ kidd ];
198 };
199 };
200
201 fingers = mkTmuxPlugin rec {
202 pluginName = "fingers";
203 rtpFilePath = "tmux-fingers.tmux";
204 version = "1.0.1";
205 src = fetchFromGitHub {
206 owner = "Morantron";
207 repo = "tmux-fingers";
208 rev = version;
209 sha256 = "0gp37m3d0irrsih96qv2yalvr1wmf1n64589d4qzyzq16lzyjcr0";
210 fetchSubmodules = true;
211 };
212 nativeBuildInputs = [ pkgs.makeWrapper ];
213 postInstall = ''
214 for f in config.sh tmux-fingers.sh setup-fingers-mode-bindings.sh; do
215 wrapProgram $target/scripts/$f \
216 --prefix PATH : ${with pkgs; lib.makeBinPath (
217 [ gawk ] ++ lib.optionals stdenv.isDarwin [ reattach-to-user-namespace ]
218 )}
219 done
220 '';
221 };
222
223 fpp = mkTmuxPlugin {
224 pluginName = "fpp";
225 version = "unstable-2016-03-08";
226 src = fetchFromGitHub {
227 owner = "tmux-plugins";
228 repo = "tmux-fpp";
229 rev = "ca125d5a9c80bb156ac114ac3f3d5951a795c80e";
230 sha256 = "1b89s6mfzifi7s5iwf22w7niddpq28w48nmqqy00dv38z4yga5ws";
231 };
232 postInstall = ''
233 sed -i -e 's|fpp |${pkgs.fpp}/bin/fpp |g' $target/fpp.tmux
234 '';
235 };
236
237 fzf-tmux-url = mkTmuxPlugin {
238 pluginName = "fzf-tmux-url";
239 rtpFilePath = "fzf-url.tmux";
240 version = "unstable-2019-12-02";
241 src = fetchFromGitHub {
242 owner = "wfxr";
243 repo = "tmux-fzf-url";
244 rev = "2baa410bf7a0f6ceb62a83770baf90d570406ac0";
245 sha256 = "0rjzzlmxgjrr8g19bg2idcqr9ny07mrq2s39vndg24n0m7znh3fz";
246 };
247 };
248
249 gruvbox = mkTmuxPlugin {
250 pluginName = "gruvbox";
251 rtpFilePath = "gruvbox-tpm.tmux";
252 version = "unstable-2019-05-05";
253 src = fetchFromGitHub {
254 owner = "egel";
255 repo = "tmux-gruvbox";
256 rev = "6149fd8b5d6924925b4d5aa6935039780e94f3d6";
257 sha256 = "1ykr4yardavd0x7yfrnshd4b0gi8p31pji7i79ib0nss134zncpb";
258 };
259 };
260
261 jump = mkTmuxPlugin {
262 pluginName = "jump";
263 version = "2020-06-26";
264 rtpFilePath = "tmux-jump.tmux";
265 src = fetchFromGitHub {
266 owner = "schasse";
267 repo = "tmux-jump";
268 rev = "416f613d3eaadbe1f6f9eda77c49430527ebaffb";
269 sha256 = "1xbzdyhsgaq2in0f8f491gwjmx6cxpkf2c35d2dk0kg4jfs505sz";
270 };
271 postInstall = ''
272 sed -i -e 's|ruby|${pkgs.ruby}/bin/ruby|g' $target/scripts/tmux-jump.sh
273 '';
274 meta = with lib; {
275 homepage = "https://github.com/schasse/tmux-jump";
276 description = "Vimium/Easymotion like navigation for tmux";
277 license = licenses.gpl3;
278 platforms = platforms.unix;
279 maintainers = with maintainers; [ arnarg ];
280 };
281 };
282
283 logging = mkTmuxPlugin {
284 pluginName = "logging";
285 version = "unstable-2019-04-19";
286 src = fetchFromGitHub {
287 owner = "tmux-plugins";
288 repo = "tmux-logging";
289 rev = "b085ad423b5d59a2c8b8d71772352e7028b8e1d0";
290 sha256 = "0p0sawysalhi8k2a5hdxniqx6kb24kd8rnvfzkjqigzid5ik37js";
291 };
292 };
293
294 net-speed = mkTmuxPlugin {
295 pluginName = "net-speed";
296 version = "unstable-2018-12-02";
297 src = fetchFromGitHub {
298 owner = "tmux-plugins";
299 repo = "tmux-net-speed";
300 rev = "58abb615971cb617821e2e7e41c660334f55a92d";
301 sha256 = "1aj06gdhzcxsydjzf21n9kyxigwf38kh2rg8hh7gnjk260ydqlrc";
302 };
303 };
304
305 nord = mkTmuxPlugin rec {
306 pluginName = "nord";
307 version = "0.3.0";
308 src = pkgs.fetchFromGitHub {
309 owner = "arcticicestudio";
310 repo = "nord-tmux";
311 rev = "v${version}";
312 sha256 = "14xhh49izvjw4ycwq5gx4if7a0bcnvgsf3irywc3qps6jjcf5ymk";
313 };
314 };
315
316 maildir-counter = mkTmuxPlugin {
317 pluginName = "maildir-counter";
318 version = "unstable-2016-11-25";
319 src = fetchFromGitHub {
320 owner = "tmux-plugins";
321 repo = "tmux-maildir-counter";
322 rev = "9415f0207e71e37cbd870c9443426dbea6da78b9";
323 sha256 = "0dwvqhiv9bjwr01hsi5c57n55jyv5ha5m5q1aqgglf4wyhbnfms4";
324 };
325 };
326
327 online-status = mkTmuxPlugin {
328 pluginName = "online-status";
329 version = "unstable-2018-11-30";
330 src = fetchFromGitHub {
331 owner = "tmux-plugins";
332 repo = "tmux-online-status";
333 rev = "ea86704ced8a20f4a431116aa43f57edcf5a6312";
334 sha256 = "1hy3vg8v2sir865ylpm2r4ip1zgd4wlrf24jbwh16m23qdcvc19r";
335 };
336 };
337
338 open = mkTmuxPlugin {
339 pluginName = "open";
340 version = "unstable-2019-12-02";
341 src = fetchFromGitHub {
342 owner = "tmux-plugins";
343 repo = "tmux-open";
344 rev = "cedb4584908bd8458fadc8d3e64101d3cbb48d46";
345 sha256 = "10s0xdhmg0dhpj13ybcq72pw3xgb2dq5v5h2mwidzqyh9g17wndh";
346 };
347 };
348
349 onedark-theme = mkTmuxPlugin {
350 pluginName = "onedark-theme";
351 rtpFilePath = "tmux-onedark-theme.tmux";
352 version = "unstable-2020-06-07";
353 src = fetchFromGitHub {
354 owner = "odedlaz";
355 repo = "tmux-onedark-theme";
356 rev = "3607ef889a47dd3b4b31f66cda7f36da6f81b85c";
357 sha256 = "19jljshwp2p83b634cd1mw69091x42jj0dg40ipw61qy6642h2m5";
358 };
359 };
360
361 pain-control = mkTmuxPlugin {
362 pluginName = "pain-control";
363 version = "unstable-2020-02-18";
364 src = fetchFromGitHub {
365 owner = "tmux-plugins";
366 repo = "tmux-pain-control";
367 rev = "2db63de3b08fc64831d833240749133cecb67d92";
368 sha256 = "0w7a6n4n86ysiqcqj12j2hg9r5fznvbp3dz8pzas9q1k3avlk0zk";
369 };
370 };
371
372 plumb = mkTmuxPlugin rec {
373 pluginName = "plumb";
374 version = "0.1.1";
375 src = fetchFromGitHub {
376 owner = "eraserhd";
377 repo = "tmux-plumb";
378 rev = "v${version}";
379 sha256 = "1c6k4fdl0az9811r6k164mgd4w5la75xr6x7nabmy046xc0z5i2r";
380 };
381 postInstall = ''
382 sed -i -e 's,9 plumb,${pkgs.plan9port}/bin/9 plumb,' $target/scripts/plumb
383 '';
384 };
385
386 power-theme = mkTmuxPlugin {
387 pluginName = "power";
388 rtpFilePath = "tmux-power.tmux";
389 version = "unstable-2020-11-18";
390 src = pkgs.fetchFromGitHub {
391 owner = "wfxr";
392 repo = "tmux-power";
393 rev = "aec44aa5e00cc39eb71c668b1d73823270058e7d";
394 sha256 = "11nm8cylx10d565g17acy0bj12n6dcbxp71zca2bmg0j1dq859cm";
395 };
396 };
397
398 prefix-highlight = mkTmuxPlugin {
399 pluginName = "prefix-highlight";
400 version = "unstable-2020-03-26";
401 src = fetchFromGitHub {
402 owner = "tmux-plugins";
403 repo = "tmux-prefix-highlight";
404 rev = "1db6e735aad54503b076391d791c56e1af213917";
405 sha256 = "0ws9blzg00zhz548m51cm6zbrkqlz7jazkr5029vka1f6qk36x0g";
406 };
407 };
408
409 resurrect = mkTmuxPlugin {
410 pluginName = "resurrect";
411 version = "unstable-2020-09-18";
412 src = fetchFromGitHub {
413 owner = "tmux-plugins";
414 repo = "tmux-resurrect";
415 rev = "e4825055c92e54b0c6ec572afc9b6c4723aba6c8";
416 sha256 = "0a96drkx1kpadkbxabcnvb542p75xdh2dbizvlq2lac5ldpb4hmx";
417 };
418 meta = {
419 homepage = "https://github.com/tmux-plugins/tmux-resurrect";
420 description = "Restore tmux environment after system restart";
421 longDescription =
422 ''
423 This plugin goes to great lengths to save and restore all the details
424 from your tmux environment. Here's what's been taken care of:
425
426 * all sessions, windows, panes and their order
427 * current working directory for each pane
428 * exact pane layouts within windows (even when zoomed)
429 * active and alternative session
430 * active and alternative window for each session
431 * windows with focus
432 * active pane for each window
433 * "grouped sessions" (useful feature when using tmux with multiple monitors)
434 * programs running within a pane! More details in the restoring programs doc.
435
436 Optional:
437 * restoring vim and neovim sessions
438 * restoring pane contents
439 '';
440 license = lib.licenses.mit;
441 platforms = lib.platforms.unix;
442 maintainers = with lib.maintainers; [ ronanmacf ];
443 };
444 };
445
446 sensible = mkTmuxPlugin {
447 pluginName = "sensible";
448 version = "unstable-2017-09-05";
449 src = fetchFromGitHub {
450 owner = "tmux-plugins";
451 repo = "tmux-sensible";
452 rev = "e91b178ff832b7bcbbf4d99d9f467f63fd1b76b5";
453 sha256 = "1z8dfbwblrbmb8sgb0k8h1q0dvfdz7gw57las8nwd5gj6ss1jyvx";
454 };
455 postInstall = lib.optionalString stdenv.isDarwin ''
456 sed -e 's:reattach-to-user-namespace:${pkgs.reattach-to-user-namespace}/bin/reattach-to-user-namespace:g' -i $target/sensible.tmux
457 '';
458 };
459
460 sessionist = mkTmuxPlugin {
461 pluginName = "sessionist";
462 version = "unstable-2017-12-03";
463 src = fetchFromGitHub {
464 owner = "tmux-plugins";
465 repo = "tmux-sessionist";
466 rev = "09ec86be38eae98ffc27bd0dde605ed10ae0dc89";
467 sha256 = "030q2mmj8akbc26jnqn8n7fckg1025p0ildx4wr401b6p1snnlw4";
468 };
469 };
470
471 sidebar = mkTmuxPlugin {
472 pluginName = "sidebar";
473 version = "unstable-2018-11-30";
474 src = fetchFromGitHub {
475 owner = "tmux-plugins";
476 repo = "tmux-sidebar";
477 rev = "aacbdb45bc5ab69db448a72de4155d0b8dbac677";
478 sha256 = "1bp90zbv19kbbiik0bgb893ybss1jqsnk3353a631993xjwsih7c";
479 };
480 };
481
482 sysstat = mkTmuxPlugin {
483 pluginName = "sysstat";
484 version = "unstable-2017-12-12";
485 src = fetchFromGitHub {
486 owner = "samoshkin";
487 repo = "tmux-plugin-sysstat";
488 rev = "29e150f403151f2341f3abcb2b2487a5f011dd23";
489 sha256 = "013mv9p6r2r0ls3p60l8hdad4hm8niv3wr27vgm925gxmibi4hyq";
490 };
491 };
492
493 tilish = mkTmuxPlugin {
494 pluginName = "tilish";
495 version = "2020-08-12";
496 src = fetchFromGitHub {
497 owner = "jabirali";
498 repo = "tmux-tilish";
499 rev = "73d2404cdc0ef6bd7fbc8982edae0b0e2a4dd860";
500 sha256 = "1x58h3bg9d69j40fh8rcjpxvg0i6j04pj8p3jk57l3cghxis5j05";
501 };
502
503 meta = with lib; {
504 homepage = "https://github.com/jabirali/tmux-tilish";
505 description = "Plugin which makes tmux work and feel like i3wm";
506 license = licenses.mit;
507 platforms = platforms.unix;
508 maintainers = with maintainers; [ arnarg ];
509 };
510 };
511
512 tmux-colors-solarized = mkTmuxPlugin {
513 pluginName = "tmuxcolors";
514 version = "unstable-2019-07-14";
515 src = fetchFromGitHub {
516 owner = "seebi";
517 repo = "tmux-colors-solarized";
518 rev = "e5e7b4f1af37f8f3fc81ca17eadee5ae5d82cd09";
519 sha256 = "1l3i82abzi4b395cgdsjg7lcfaq15kyyhijwvrgchzxi95z3hl4x";
520 };
521 };
522
523 tmux-fzf = mkTmuxPlugin {
524 pluginName = "tmux-fzf";
525 rtpFilePath = "main.tmux";
526 version = "unstable-2020-12-07";
527 src = fetchFromGitHub {
528 owner = "sainnhe";
529 repo = "tmux-fzf";
530 rev = "5efeb91086040a3becf5372fb38258acd0579954";
531 sha256 = "1z0zmsf8asxs9wbwvkiyd81h93wb2ikl8nxxc26sdpi6l333q5s9";
532 };
533 postInstall = ''
534 find $target -type f -print0 | xargs -0 sed -i -e 's|fzf |${pkgs.fzf}/bin/fzf |g'
535 find $target -type f -print0 | xargs -0 sed -i -e 's|sed |${pkgs.gnused}/bin/sed |g'
536 find $target -type f -print0 | xargs -0 sed -i -e 's|tput |${pkgs.ncurses}/bin/tput |g'
537 '';
538 meta = {
539 homepage = "https://github.com/sainnhe/tmux-fzf";
540 description = "Use fzf to manage your tmux work environment! ";
541 longDescription =
542 ''
543 Features:
544 * Manage sessions (attach, detach*, rename, kill*).
545 * Manage windows (switch, link, move, swap, rename, kill*).
546 * Manage panes (switch, break, join*, swap, layout, kill*, resize).
547 * Multiple selection (support for actions marked by *).
548 * Search commands and append to command prompt.
549 * Search key bindings and execute.
550 * User menu.
551 * Popup window support.
552 '';
553 license = lib.licenses.mit;
554 platforms = lib.platforms.unix;
555 maintainers = with lib.maintainers; [ kyleondy ];
556 };
557 };
558
559 urlview = mkTmuxPlugin {
560 pluginName = "urlview";
561 version = "unstable-2016-01-06";
562 src = fetchFromGitHub {
563 owner = "tmux-plugins";
564 repo = "tmux-urlview";
565 rev = "b84c876cffdd22990b4ab51247e795cbd7813d53";
566 sha256 = "1jp4jq57cn116b3i34v6yy69izd8s6mp2ijr260cw86g0470k0fn";
567 };
568 postInstall = ''
569 sed -i -e '14,20{s|urlview|${pkgs.urlview}/bin/urlview|g}' $target/urlview.tmux
570 '';
571 };
572
573 vim-tmux-focus-events = mkTmuxPlugin {
574 pluginName = "vim-tmux-focus-events";
575 version = "unstable-2020-10-05";
576 src = fetchFromGitHub {
577 owner = "tmux-plugins";
578 repo = "vim-tmux-focus-events";
579 rev = "a568192ca0de4ca0bd7b3cd0249aad491625c941";
580 sha256 = "130l73v18md95djkc4s9d0fr018f8f183sjcgy7dgldwdaxlqdi1";
581 };
582
583 meta = with lib; {
584 homepage = "https://github.com/tmux-plugins/vim-tmux-focus-events";
585 description = "Makes FocusGained and FocusLost autocommand events work in vim when using tmux";
586 license = licenses.mit;
587 platforms = platforms.unix;
588 maintainers = with maintainers; [ ronanmacf ];
589 };
590 };
591
592 vim-tmux-navigator = mkTmuxPlugin {
593 pluginName = "vim-tmux-navigator";
594 rtpFilePath = "vim-tmux-navigator.tmux";
595 version = "unstable-2019-12-10";
596 src = fetchFromGitHub {
597 owner = "christoomey";
598 repo = "vim-tmux-navigator";
599 rev = "8fdf78292bb3aed1c9de880be7e03efdbf23d306";
600 sha256 = "0y92na4dcfcsj5zbs3m7y6csl3sd46a9968id78cdn9cgg8iwzac";
601 };
602 };
603
604 yank = mkTmuxPlugin {
605 pluginName = "yank";
606 version = "unstable-2021-06-20";
607 src = fetchFromGitHub {
608 owner = "tmux-plugins";
609 repo = "tmux-yank";
610 rev = "1b1a436e19f095ae8f825243dbe29800a8acd25c";
611 sha256 = "hRvkBf+YrWycecnDixAsD4CAHg3KsioomfJ/nLl5Zgs=";
612 };
613 };
614}