{ config, lib, ... }: with lib; let cfg = config.nixfiles.modules.tmux; in { options.nixfiles.modules.tmux.enable = mkEnableOption "tmux"; config = mkIf cfg.enable { hm.programs.tmux = { enable = true; aggressiveResize = true; baseIndex = 1; clock24 = true; disableConfirmationPrompt = true; escapeTime = 0; historyLimit = 50000; newSession = true; resizeAmount = 10; terminal = "screen-256color"; extraConfig = '' set -g set-titles on set -g status-left "" set -g status-right "" set -g detach-on-destroy off set -g status-keys emacs set -g mode-keys vi 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 10 bind -r J resize-pane -D 10 bind -r K resize-pane -U 10 bind -r L resize-pane -R 10 bind < swap-pane -D bind > swap-pane -U bind , swap-window -t -1 bind . swap-window -t +1 bind Tab last-window bind _ split-window -v bind | split-window -h ''; }; }; }