{ inputs, config, pkgs, ... }: let tmux-themepack = pkgs.tmuxPlugins.mkTmuxPlugin { pluginName = "tmux-themepack"; rtpFilePath = "themepack.tmux"; version = "unstable-2019-12-22"; src = pkgs.fetchFromGitHub { owner = "jimeh"; repo = "tmux-themepack"; rev = "7c59902f64dcd7ea356e891274b21144d1ea5948"; sha256 = "sha256-c5EGBrKcrqHWTKpCEhxYfxPeERFrbTuDfcQhsUAbic4="; }; }; in { programs.tmux = { shell = "${pkgs.zsh}/bin/zsh"; terminal = "screen-256color"; enable = true; clock24 = true; shortcut = "a"; escapeTime = 0; newSession = true; mouse = true; keyMode = "vi"; plugins = [ pkgs.tmuxPlugins.vim-tmux-navigator pkgs.tmuxPlugins.better-mouse-mode pkgs.tmuxPlugins.yank { plugin = tmux-themepack; extraConfig = '' set -g @themepack "powerline/double/blue" set-window-option -g status-left " #S " set-window-option -g status-right " #{prefix_highlight} \"#(hostname)\" %H:%M %d-%b-%y " set-window-option -g window-status-format " #I: #W " set-window-option -g window-status-current-format " #I: #W " ''; } ]; extraConfig = '' set-window-option -g mode-keys vi bind-key -T copy-mode-vi 'v' send -X begin-selection bind-key -T copy-mode-vi 'y' send -X copy-selection bind | split-window -h -c "#{pane_current_path}" bind - split-window -v -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" unbind '"' unbind % set-option -g xterm-keys on ''; }; }