{ pkgs, config, lib, ... }: with lib; let cfg = config.eboskma.programs.tmux; in { options.eboskma.programs.tmux = { enable = mkEnableOption "enable tmux"; }; config = mkIf cfg.enable { programs.tmux = { enable = true; prefix = "C-a"; terminal = "tmux-256color"; clock24 = true; baseIndex = 1; keyMode = "emacs"; plugins = with pkgs.tmuxPlugins; [ sensible tmux-fzf { plugin = catppuccin; extraConfig = '' set -g @catppuccin_window_left_separator "█" set -g @catppuccin_window_right_separator "█ " set -g @catppuccin_window_number_position "right" set -g @catppuccin_window_middle_separator " █" set -g @catppuccin_window_default_fill "number" set -g @catppuccin_window_current_fill "number" set -g @catppuccin_window_current_text "#{pane_current_path}" set -g @catppuccin_status_modules_right "application session date_time" set -g @catppuccin_status_left_separator "" set -g @catppuccin_status_right_separator " " set -g @catppuccin_status_right_separator_inverse "yes" set -g @catppuccin_status_fill "all" set -g @catppuccin_status_connect_separator "no" ''; } # { # plugin = dracula; # extraConfig = '' # set -g @dracula-refresh-rate 10 # set -g @dracula-show-powerline true # set -g @dracula-show-fahrenheit false # set -g @dracula-show-left-icon session # set -g @dracula-network-bandwith "enp4s0" # set -g @dracula-military-time true # set -g @dracula-day-month true # set -g @dracula-plugins "time cpu-usage ram-usage network network-bandwith" # ''; # } ]; extraConfig = '' setw -g automatic-rename set -ag update-environment "SWAYSOCK" bind-key r source ~/.config/tmux/tmux.conf \; display "Reloaded config." bind-key C-a send-prefix bind-key | split-window -h -c "#{pane_current_path}" bind-key - split-window -v -c "#{pane_current_path}" bind-key c new-window -c "#{pane_current_path}" bind-key h select-pane -L bind-key n select-pane -D bind-key e select-pane -U bind-key i select-pane -R bind-key -r C-h select-window -t :- bind-key -r C-i select-window -t :+ bind-key -r H resize-pane -L 5 bind-key -r N resize-pane -D 5 bind-key -r E resize-pane -U 5 bind-key -r I resize-pane -R 5 bind-key C-[ swap-window -t -1 bind-key C-] swap-window -t +1 bind-key -T copy-mode-vi h send-keys -X cursor-left bind-key -T copy-mode-vi n send-keys -X cursor-down bind-key -T copy-mode-vi e send-keys -X cursor-up bind-key -T copy-mode-vi i send-keys -X cursor-right set -g mouse on bind-key -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'" bind-key -n WheelDownPane select-pane -t= \; send-keys -M ''; }; home.packages = with pkgs; [ python3Packages.powerline bc ]; }; }