{ 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"; 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 "+" bind "+" choose-tree -Zw "join-pane -t '%%'" set -g mode-keys vi ''; }; }