67 lines
1.4 KiB
Nix
67 lines
1.4 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
|
|
{
|
|
programs.tmux = {
|
|
enable = true;
|
|
package = pkgs.tmux;
|
|
baseIndex = 1;
|
|
clock24 = true;
|
|
disableConfirmationPrompt = true;
|
|
mouse = true;
|
|
newSession = true;
|
|
prefix = "C-b";
|
|
shell = "${pkgs.fish}/bin/fish";
|
|
terminal = "screen-256color";
|
|
keyMode = "vi";
|
|
plugins = with pkgs; [
|
|
{
|
|
plugin = tmuxPlugins.resurrect;
|
|
extraConfig = ''
|
|
set -g @resurrect-strategy-nvim 'session'
|
|
set -g @resurrect-capture-pane-contents 'on'
|
|
'';
|
|
}
|
|
{
|
|
plugin = tmuxPlugins.continuum;
|
|
extraConfig = ''
|
|
set -g @continuum-restore 'on'
|
|
set -g @continuum-boot 'on'
|
|
set -g @continuum-save-interval '10'
|
|
'';
|
|
}
|
|
];
|
|
extraConfig = ''
|
|
unbind %
|
|
bind "|" split-window -h
|
|
unbind '"'
|
|
bind - split-window -l 30 -v
|
|
|
|
bind r source-file ~/.config/tmux/tmux.conf \; display "Config reloaded!"
|
|
|
|
bind h select-pane -L
|
|
bind j select-pane -D
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
bind -r H resize-pane -L 5
|
|
bind -r J resize-pane -D 5
|
|
bind -r K resize-pane -U 5
|
|
bind -r L resize-pane -R 5
|
|
|
|
bind ? list-keys -a
|
|
|
|
unbind s
|
|
bind s display-popup -h 50% -w 50% -E sessionizer
|
|
|
|
unbind v
|
|
bind v choose-tree -Zw "join-pane -t '%%'"
|
|
|
|
bindkey -r '\e/'
|
|
'';
|
|
};
|
|
}
|