{
  programs.tmux = {
    enable = true;
    baseIndex = 1;
    escapeTime = 0;
    keyMode = "vi";
    mouse = true;
    terminal = "screen-256color";
    historyLimit = 5000;
    extraConfig = ''
      bind -n M-s split-window -v
      bind -n M-v split-window -h
      bind -n M-S-s split-window -h -c "#{pane_current_path}"
      bind -n M-S-v split-window -h -c "#{pane_current_path}"
      bind -n M-h select-pane -L
      bind -n M-j select-pane -D
      bind -n M-k select-pane -U
      bind -n M-l select-pane -R
      bind -n M-q kill-pane
      bind -n M-< resize-pane -L 10
      bind -n M-> resize-pane -R 10
      bind -n M-- resize-pane -D 10
      bind -n M-+ resize-pane -U 10
      bind -n M-z resize-pane -Z
      bind -n M-u copy-mode
      bind -n M-p previous-window
      bind -n M-n next-window

      set-option -g renumber-windows on
    '';
  };
}
