diff --git a/home/tmux.nix b/home/tmux.nix index 057e71e..b53eeb3 100644 --- a/home/tmux.nix +++ b/home/tmux.nix @@ -24,98 +24,100 @@ plugin = pkgs.tmuxPlugins.online-status; extraConfig = '' - set -g @online_icon "ok" - set -g @offline_icon "offline!" + set -g @online_icon "ok" + set -g @offline_icon "offline!" ''; - } - { - plugin = pkgs.tmuxPlugins.dracula; + } + { + plugin = pkgs.tmuxPlugins.dracula; + extraConfig = + '' + set -g @dracula-plugins "cpu-usage network battery weather time" + set -g @dracula-border-contrast true + set -g @dracula-refresh-rate 10 + set -g @dracula-show-left-icon session + set -g @dracula-border-contrast true + set -g @dracula-show-powerline true + set -g @dracula-synchronize-panes-label "Sync" + 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 @dracula-plugins "cpu-usage network battery weather time" - set -g @dracula-refresh-rate 10 - set -g @dracula-show-left-icon session - set -g @dracula-border-contrast true - 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 + 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 + set -sa terminal-overrides ",xterm*:Tc" + 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 S split-window -v -l 5 + bind g select-layout tiled + bind Tab choose-window + bind o select-pane -t :.- + bind | split-window -h -c "#{pane_current_path}" + bind - split-window -v -c "#{pane_current_path}" + 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 + set -g lock-after-time 30 + set -g lock-command 'tty | grep -q "^/dev/tty" && vlock' ''; - } - ]; - 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 - set -sa terminal-overrides ",xterm*:Tc" - 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 S split-window -v -l 5 - bind g select-layout tiled - bind Tab choose-window - bind o select-pane -t :.- - bind | split-window -h -c "#{pane_current_path}" - bind - split-window -v -c "#{pane_current_path}" - 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 - set -g lock-after-time 30 - set -g lock-command 'tty | grep -q "^/dev/tty" && vlock' - ''; - }; + }; xdg.configFile."tmuxinator" = { recursive = true; source = ./files/tmuxinator;