2019-12-15 10:25:04 +03:00
|
|
|
{ lib, pkgs, ... }:
|
|
|
|
let
|
2020-01-04 08:06:31 +03:00
|
|
|
inherit (builtins) readFile concatStringsSep;
|
2019-12-15 10:25:04 +03:00
|
|
|
|
2020-01-04 08:06:31 +03:00
|
|
|
inherit (lib) removePrefix;
|
2019-12-15 10:25:04 +03:00
|
|
|
|
|
|
|
pluginConf = plugins:
|
2020-01-04 08:06:31 +03:00
|
|
|
concatStringsSep "\n\n" (map (plugin:
|
|
|
|
let name = removePrefix "tmuxplugin-" plugin.name;
|
|
|
|
in "run-shell ${plugin}/share/tmux-plugins/${name}/${name}.tmux")
|
|
|
|
plugins);
|
2019-12-15 10:25:04 +03:00
|
|
|
|
|
|
|
plugins = with pkgs.tmuxPlugins; [
|
|
|
|
copycat
|
|
|
|
open
|
|
|
|
resurrect
|
|
|
|
yank
|
|
|
|
vim-tmux-navigator
|
|
|
|
];
|
2020-01-04 08:06:31 +03:00
|
|
|
in {
|
|
|
|
environment.shellAliases = { tx = "tmux new-session -A -s $USER"; };
|
2019-12-15 11:00:01 +03:00
|
|
|
|
2019-12-15 10:25:04 +03:00
|
|
|
programs.tmux = {
|
|
|
|
enable = true;
|
|
|
|
aggressiveResize = true;
|
|
|
|
escapeTime = 10;
|
|
|
|
historyLimit = 5000;
|
|
|
|
keyMode = "vi";
|
|
|
|
shortcut = "a";
|
|
|
|
terminal = "tmux-256color";
|
|
|
|
baseIndex = 1;
|
2020-04-27 02:45:41 +03:00
|
|
|
extraConfig = ''
|
2019-12-15 10:25:04 +03:00
|
|
|
${readFile ./tmuxline.conf}
|
|
|
|
|
|
|
|
${readFile ./tmux.conf}
|
|
|
|
|
|
|
|
${pluginConf plugins}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
}
|