{ config, pkgs, ... }: { programs.tmux = { enable = true; escapeTime = 0; mouse = true; newSession = true; shell = "${pkgs.fish}/bin/fish"; extraConfig = '' # Key bindings bind C-l next-window bind C-h previous-window bind C-b last-window bind n new-window bind C-n new-window -c '#{pane_current_path}' bind v split-window -h bind C-v split-window -hc '#{pane_current_path}' bind s split-window -v bind C-s split-window -vc '#{pane_current_path}' bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R bind c command-prompt -I "#{b:pane_current_path}" "rename-window '%%'" bind C-c command-prompt -I "#{b:pane_current_path}" "rename-window '%%'" # Layouts bind f source-file ~/.config/tmux/vifm.conf bind R source-file ~/.config/tmux/rloft.conf bind J source-file ~/.config/tmux/jekyll.conf # Unbind unbind p unbind '"' unbind % # Eye candy # set-option -g status-position top set-option -g status-right "" set-option -g status-left "" set-option -g status-justify "centre" set-option -g status-style fg=brightmagenta set-option -g pane-border-style fg=brightwhite set-option -g pane-active-border-style fg=magenta set-option -g window-status-current-style fg=magenta # Some more specifics set-option -g focus-events on ''; }; xdg.configFile."tmux/vifm.conf".source = ./vifm.conf; xdg.configFile."tmux/rloft.conf".source = ./rloft.conf; xdg.configFile."tmux/jekyll.conf".source = ./jekyll.conf; }