127 lines
4.0 KiB
Nix
127 lines
4.0 KiB
Nix
{ pkgs, config, ... }:
|
|
{
|
|
programs.tmux = {
|
|
enable = true;
|
|
baseIndex = 1;
|
|
clock24 = true;
|
|
disableConfirmationPrompt = true;
|
|
keyMode = "vi";
|
|
mouse = true;
|
|
newSession = true;
|
|
plugins = with pkgs; [
|
|
# tmuxPlugins.cpu
|
|
{
|
|
plugin = tmuxPlugins.resurrect;
|
|
extraConfig = "set -g @resurrect-strategy-nvim 'session'";
|
|
}
|
|
{
|
|
plugin = tmuxPlugins.continuum;
|
|
extraConfig = ''
|
|
set -g @continuum-restore 'on'
|
|
set -g @continuum-save-interval '60'
|
|
'';
|
|
}
|
|
tmuxPlugins.yank
|
|
tmuxPlugins.vim-tmux-navigator
|
|
tmuxPlugins.vim-tmux-focus-events
|
|
tmuxPlugins.urlview
|
|
tmuxPlugins.tmux-fzf
|
|
tmuxPlugins.sidebar
|
|
{
|
|
plugin = tmuxPlugins.tokyo-night-tmux;
|
|
extraConfig = ''
|
|
set -g @tokyo-night-tmux_window_id_style digital
|
|
set -g @tokyo-night-tmux_pane_id_style hsquare
|
|
set -g @tokyo-night-tmux_zoom_id_style dsquare
|
|
set -g @tokyo-night-tmux_show_path 1
|
|
set -g @tokyo-night-tmux_path_format relative # 'relative' or 'full'
|
|
set -g @tokyo-night-tmux_show_git 0
|
|
if-shell "[[ $(hostname) = 'xps13' ]]" {
|
|
# set -g @tokyo-night-tmux_show_netspeed 1
|
|
set -g @tokyo-night-tmux_netspeed_iface 'wlp2s0'
|
|
set -g @tokyo-night-tmux_netspeed_showip 1
|
|
# set -g @tokyo-night-tmux_netspeed_refresh 1
|
|
set -g @tokyo-night-tmux_show_battery_widget 1
|
|
set -g @tokyo-night-tmux_battery_name "BAT0"
|
|
set -g @tokyo-night-tmux_battery_low_threshold 21
|
|
}
|
|
'';
|
|
}
|
|
{
|
|
plugin = tmuxPlugins.pass;
|
|
extraConfig = ''
|
|
set -g @pass-key b
|
|
set -g @pass-copy-to-clipboard on
|
|
'';
|
|
}
|
|
{
|
|
plugin = tmuxPlugins.tilish;
|
|
extraConfig = ''
|
|
set -g @tilish-navigator 'on'
|
|
set -g @tilish-default 'main-vertical'
|
|
set -g @tilish-enforce 'none'
|
|
set -g escape-time 0
|
|
set -g @tilish-dmenu 'on'
|
|
'';
|
|
}
|
|
|
|
];
|
|
prefix = "C-a";
|
|
# shell = "${pkgs.zsh}/bin/zsh";
|
|
# terminal = "xterm-kitty:RGB";
|
|
tmuxinator.enable = true;
|
|
extraConfig = ''
|
|
if-shell "[[ $(hostname) = 'xps13' ]]" {
|
|
set-option -as terminal-features 'foot:RGB'
|
|
}
|
|
|
|
if-shell "[[ $(hostname) = 'Titan' ]]" {
|
|
# set-option -as terminal-features 'xterm-256color:RGB'
|
|
# set -g default-terminal "tmux-256color"
|
|
# set -g terminal-overrides ",xterm-256color:RGB"
|
|
set -g default-terminal "tmux-256color"
|
|
|
|
# Enable 24-bit color for ANY parent terminal tmux detects
|
|
# (covers foot, kitty, wezterm, alacritty, xterm-256color, etc.)
|
|
set-option -as terminal-features '*:RGB'
|
|
|
|
# If you previously set terminal-overrides/Tc, drop them to avoid conflicts
|
|
# set -gu terminal-overrides # uncomment if you had overrides before
|
|
}
|
|
|
|
if-shell "[[ $(hostname) = 'Athena' ]]" {
|
|
# set-option -as terminal-features 'xterm-256color:RGB'
|
|
# set -g default-terminal "tmux-256color"
|
|
# set -g terminal-overrides ",xterm-256color:RGB"
|
|
set -g default-terminal "tmux-256color"
|
|
|
|
# Enable 24-bit color for ANY parent terminal tmux detects
|
|
# (covers foot, kitty, wezterm, alacritty, xterm-256color, etc.)
|
|
set-option -as terminal-features '*:RGB'
|
|
|
|
# If you previously set terminal-overrides/Tc, drop them to avoid conflicts
|
|
# set -gu terminal-overrides # uncomment if you had overrides before
|
|
}
|
|
|
|
set-option -g update-environment "DISPLAY XAUTHORITY WAYLAND_DISPLAY XDG_RUNTIME_DIR HYPRLAND_INSTANCE_SIGNATURE"
|
|
set -g focus-events on
|
|
set -g escape-time 3
|
|
set-option -g status-position top
|
|
set -g default-terminal 'tmux-256color'
|
|
|
|
bind-key b choose-tree -Z "run-shell 'tmux swap-pane -s %%'"
|
|
bind C-p run-shell 'tmuxsessions.sh'
|
|
bind C-d run-shell 'dotfile-picker.sh'
|
|
bind [ run-shell 'project-picker.sh'
|
|
bind C-c display-popup -E -w 60% -h 60% "pytui -n"
|
|
bind m display-popup -E -w 60% -h 60% "pytui -m"
|
|
bind C-o display-popup -E -w 50% -h 50% 'igrep ~/wiki/notes'
|
|
bind j run-shell 'popuptmux'
|
|
bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!"
|
|
bind-key -n F4 split-window -v 'ranger $PWD'
|
|
bind-key -n C-f split-window 'ranger .'
|
|
bind C-i split-window -v 'igrep .'
|
|
'';
|
|
};
|
|
}
|