{ pkgs, ... }: { 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"; escapeTime = 0; 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 = '' set -g status-position top set -g status-style bg=#1d202f,fg=white set -g status-left " " set -g status-right "#[bg=default,fg=magenta]>> #S << #[bg=default,fg=white]#H " set -g window-status-current-style bg=default,fg=magenta,bold set-window-option -g window-status-format "[#I] #W#F" set-window-option -g window-status-current-format "[#I] #W#F" set -g pane-border-style fg=gray set -g pane-active-border-style fg=magenta unbind % bind "|" split-window -h unbind '"' bind - split-window -l 15 -v bind r source-file "~/.config/tmux/tmux.conf" 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 80% -E sessionizer unbind v bind v choose-tree -Zw "join-pane -t '%%'" ''; }; }