2024-02-05 11:46:52 +01:00
|
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
2022-03-01 22:19:03 +01:00
|
|
|
|
}:
|
2024-02-05 11:46:52 +01:00
|
|
|
|
with lib;
|
|
|
|
|
let
|
2022-03-01 22:19:03 +01:00
|
|
|
|
cfg = config.eboskma.programs.tmux;
|
2022-04-27 00:21:19 +02:00
|
|
|
|
in
|
|
|
|
|
{
|
2021-11-21 19:07:12 +01:00
|
|
|
|
options.eboskma.programs.tmux = {
|
|
|
|
|
enable = mkEnableOption "enable tmux";
|
|
|
|
|
};
|
|
|
|
|
|
2022-05-03 18:17:38 +02:00
|
|
|
|
config = mkIf cfg.enable {
|
2021-11-21 19:07:12 +01:00
|
|
|
|
programs.tmux = {
|
|
|
|
|
enable = true;
|
2021-12-18 16:23:14 +01:00
|
|
|
|
prefix = "C-a";
|
2021-11-21 19:07:12 +01:00
|
|
|
|
terminal = "tmux-256color";
|
|
|
|
|
clock24 = true;
|
|
|
|
|
baseIndex = 1;
|
2022-06-10 20:18:11 +02:00
|
|
|
|
keyMode = "emacs";
|
2021-12-18 16:23:14 +01:00
|
|
|
|
plugins = with pkgs.tmuxPlugins; [
|
|
|
|
|
sensible
|
|
|
|
|
tmux-fzf
|
|
|
|
|
{
|
2024-03-20 18:33:33 +01:00
|
|
|
|
plugin = catppuccin;
|
2021-12-18 16:23:14 +01:00
|
|
|
|
extraConfig = ''
|
2024-03-20 18:33:33 +01:00
|
|
|
|
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"
|
2021-12-18 16:23:14 +01:00
|
|
|
|
'';
|
|
|
|
|
}
|
2024-03-20 18:33:33 +01:00
|
|
|
|
# {
|
|
|
|
|
# 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"
|
|
|
|
|
# '';
|
|
|
|
|
# }
|
2021-12-18 16:23:14 +01:00
|
|
|
|
];
|
2021-11-21 19:07:12 +01:00
|
|
|
|
|
|
|
|
|
extraConfig = ''
|
|
|
|
|
setw -g automatic-rename
|
|
|
|
|
|
|
|
|
|
set -ag update-environment "SWAYSOCK"
|
|
|
|
|
|
2021-12-18 16:23:14 +01:00
|
|
|
|
bind-key r source ~/.config/tmux/tmux.conf \; display "Reloaded config."
|
2021-11-21 19:07:12 +01:00
|
|
|
|
|
|
|
|
|
bind-key C-a send-prefix
|
|
|
|
|
|
2024-05-07 08:46:46 +02:00
|
|
|
|
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}"
|
2021-11-21 19:07:12 +01:00
|
|
|
|
|
|
|
|
|
bind-key h select-pane -L
|
|
|
|
|
bind-key n select-pane -D
|
|
|
|
|
bind-key e select-pane -U
|
|
|
|
|
bind-key i select-pane -R
|
|
|
|
|
|
2024-10-15 11:28:16 +02:00
|
|
|
|
bind-key -r C-h select-window -t previous-window
|
|
|
|
|
bind-key -r C-i select-window -t next-window
|
2021-11-21 19:07:12 +01:00
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
2024-10-15 11:28:16 +02:00
|
|
|
|
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
|
2021-11-21 19:07:12 +01:00
|
|
|
|
|
|
|
|
|
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; [
|
2023-06-22 14:21:10 +02:00
|
|
|
|
python3Packages.powerline
|
2021-12-21 16:53:42 +01:00
|
|
|
|
bc
|
2021-11-21 19:07:12 +01:00
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
}
|