{ config, pkgs, lib, ... }: { programs.tmux = { enable = true; shortcut = "a"; mouse = true; keyMode = "vi"; escapeTime = 0; terminal = "screen-256color"; tmuxp.enable = true; extraConfig = '' set -g display-time 1500 unbind S bind S command-prompt "switch -t %1" bind-key -n M-K switch-client -p bind-key -n M-J switch-client -n bind-key -n M-L next-window bind-key -n M-H previous-window bind '"' split-window -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" bind c new-window -a -c "#{pane_current_path}" bind C-s display-popup -E "zsh ~/bin/tmuxp_selector.sh" bind C-g display-popup -E -d "#{pane_current_path}" -xC -yC -w 95% -h 95% "lazygit" bind C-t display-popup -E -xC -yC -w 95% -h 95% "tasksquire" bind C-n display-popup -E -xC -yC -w 95% -h 95% "vim /mnt/c/Users/marti/Documents/notes/Work/quick_notes.md" bind C-m display-popup -E -xC -yC -w 95% -h 95% "vim /mnt/c/Users/marti/Documents/notes/Work/mbpr.md" ####################################### # status line ####################################### set -g status-justify centre set -g status-left "#[bg=#808080,fg=#ffffff,bold] #S #[default]#[bg=#BCBCBC] #{-30:pane_title} " set -g status-left-length 40 set -g status-right "#[bg=#BCBCBC] %H:%M #[bg=#808080,fg=#ffffff] %d.%m.%y " # setw -g window-status-format " #W#F " # setw -g window-status-current-format " #W#F " setw -g window-status-format " #W " setw -g window-status-current-format " #W " setw -g window-status-separator "" ####################################### # colors, taken from vim-lucius ####################################### set -g status-style "bg=#DADADA,fg=#000000" setw -g window-status-style "bg=#BCBCBC,fg=#000000" setw -g window-status-current-style "bg=#808080,fg=#ffffff" setw -g window-status-activity-style "bg=#AFD7AF,fg=#000000" setw -g window-status-bell-style "bg=#AFD7AF,fg=#000000" #setw -g window-status-content-style "bg=#AFD7AF,fg=#000000" set -g pane-active-border-style "bg=#eeeeee,fg=#006699" set -g pane-border-style "bg=#eeeeee,fg=#999999" ''; }; home.shellAliases = lib.mkMerge [ { "o" = "tmuxp"; "ol" = "tmuxp load"; } ]; }