From f4560e59e2dbbad7b4a6b05b994be494d8882fba Mon Sep 17 00:00:00 2001 From: Don Harper Date: Mon, 3 Jul 2023 15:25:16 -0500 Subject: [PATCH] home | move tmux config to home-manager --- home/tmux.nix | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/home/tmux.nix b/home/tmux.nix index bbd704e..5872161 100644 --- a/home/tmux.nix +++ b/home/tmux.nix @@ -2,6 +2,118 @@ { programs.tmux = { enable = true; + aggressiveResize = true; + sensibleOnTop = false; + historyLimit = 2000; tmuxinator.enable = true; + mouse = false; + baseIndex = 1; + disableConfirmationPrompt = true; + #shell = "${pkgs.bash}/bin/bash"; + terminal = "tmux-256color"; + keyMode = "vi"; + plugins = [ + # Add tmux-tasks + pkgs.tmuxPlugins.resurrect + pkgs.tmuxPlugins.continuum + pkgs.tmuxPlugins.battery + pkgs.tmuxPlugins.cpu + pkgs.tmuxPlugins.urlview + { + plugin = pkgs.tmuxPlugins.online-status; + extraConfig = + '' + set -g @online_icon "ok" + set -g @offline_icon "offline!" + ''; + } + { + plugin = pkgs.tmuxPlugins.dracula; + extraConfig = + '' + set -g @dracula-plugins "cpu-usage network battery weather time" + set -g @dracula-refresh-rate 10 + set -g @dracula-show-powerline true + set -g @dracula-show-flags true + set -g @dracula-show-timezone false + set -g @dracula-fixed-location "Katy, Texas" + set -g @dracula-show-location false + ''; + } + ]; + extraConfig = + '' + set -g bell-action any + set -g buffer-limit 9 + set -g display-panes-active-colour red + set -g display-panes-colour blue + set -g display-panes-time 1000 + set -g display-time 750 + set -g set-titles on + set -g set-titles-string "#S:#I:#W - "#T"" + set -g status on + set -g status-position top + set -g status-interval 15 + set -g status-justify left + set -g visual-activity off + set -g visual-bell off + bind ^b last-window + bind '~' split-window "exec ytop" + bind 1 select-window -t 1 + bind 2 select-window -t 2 + bind 3 select-window -t 3 + bind 4 select-window -t 4 + bind 5 select-window -t 5 + bind 6 select-window -t 6 + bind 7 select-window -t 7 + bind 8 select-window -t 8 + bind 9 select-window -t 9 + bind 0 select-window -t 10 + bind F1 select-window -t 11 + bind -n C-1 select-window -t 11 + bind F2 select-window -t 12 + bind -n C-2 select-window -t 12 + bind F3 select-window -t 13 + bind -n C-3 select-window -t 13 + bind F4 select-window -t 14 + bind -n C-4 select-window -t 14 + bind F5 select-window -t 15 + bind C-5 select-window -t 15 + bind F6 select-window -t 16 + bind C-6 select-window -t 16 + bind F7 select-window -t 17 + bind C-7 select-window -t 17 + bind F8 select-window -t 18 + bind C-8 select-window -t 18 + bind F9 select-window -t 19 + bind C-9 select-window -t 19 + bind F10 select-window -t 20 + bind C-0 select-window -t 20 + bind E neww -t 118 -n mbsync "exec checkmail -v" + bind-key F set prefix C-b \; bind ^b last-window + bind-key ^F set prefix C-b \; bind ^b last-window + bind F12 neww -t 20 -n vifm "exec vifm" + bind S split-window -v -l 5 + bind A split-window -h "exec gmail-filter" + bind L neww "exec listadmin" + bind g select-layout tiled + bind Tab choose-window + bind o select-pane -t :.- + bind | split-window -h + bind - split-window + bind e setw synchronize-panes + bind C-c run "tmux show-buffer | wl-copy" + bind C-v run "tmux set-buffer -- \"$(wl-paste)\"; tmux paste-buffer" + bind -n S-down new-window + bind -n S-left prev + bind -n S-right next + bind -n C-left swap-window -t -1 + bind -n C-right swap-window -t +1 + bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlview" '$SHELL -c "urlview < /tmp/tmux-buffer"' + bind C-i neww -n khal "exec ikhal" + bind K split-window -h "exec ikhal" + bind C-t neww -n vit "exec vit" + set -g renumber-windows off + ''; }; }