{ config, lib, pkgs, ... }: { programs.tmux = { enable = true; shell = "${pkgs.zsh}/bin/zsh"; terminal = "tmux-256color"; baseIndex = 1; historyLimit = 50000; mouse = false; keyMode = "vi"; clock24 = true; focusEvents = true; extraConfig = '' # Indexing set -g pane-base-index 1 set -g renumber-windows on # Terminal overrides set -ga terminal-overrides ",*256col*:Tc" # Pane borders set -g pane-border-lines heavy set -g pane-active-border-style fg=brightred set -g pane-border-style fg=colour238 # Status bar set -g status-interval 1 set -g status-position top set -g status-justify left set -g status-style bg=black,fg=brightwhite set -g status-left "#[bg=colour236,fg=brightwhite]#{?session_path, #(basename #{session_path}) ,}" set -g status-right "#[bg=colour236,fg=brightwhite] #H #[bg=colour235,fg=brightwhite] %H:%M:%S " set -g status-left-length 100 set -g status-right-length 100 # Window styling set -g window-status-format " #[fg=white]#I:#[fg=white]#W#{?window_flags,#F,} " set -g window-status-current-format "#[bg=colour235,fg=brightred,bold] #I:#W#{?window_flags,#F,} " set -g window-status-separator "" # Message styling set -g message-style bg=colour236,fg=brightwhite set -g message-command-style bg=colour236,fg=brightwhite # Mode styling set -g mode-style bg=brightred,fg=black set -g clock-mode-colour brightred # Keybindings bind y copy-mode bind -r h select-pane -L bind -r j select-pane -D bind -r k select-pane -U bind -r l select-pane -R bind -r r source-file ~/.config/tmux/tmux.conf \; display-message "tmux.conf reloaded" bind q display-popup -E -w 60% -h 60% -d '#{session_path}' 'nvim quicknote.md' ''; }; }