{ 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-window-option -g window-status-style 'fg=magenta,bg=#1d202f' set-window-option -g window-status-format ' #I #[fg=white]#W #[fg=cyan]#F ' set-window-option -g window-status-current-style "fg=black,bg=magenta" set-window-option -g window-status-current-format " #I #W #F " set -g pane-border-style fg=#807c9f set -g pane-active-border-style fg=magenta set -g message-style "fg=black,bg=red,bold" 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 g bind g display-popup -h 90% -w 95% -E lazygit unbind C-x bind C-x kill-session unbind v bind v choose-tree -Zw "join-pane -t '%%'" ''; }; }