48 lines
882 B
Nix
48 lines
882 B
Nix
# Terminal multiplexer configurations
|
|
{
|
|
inputs,
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
home.packages = with pkgs; [
|
|
# Optional multiplexers (tmux enabled by default below)
|
|
# zellij
|
|
];
|
|
|
|
# Tmux configuration
|
|
programs.tmux = {
|
|
enable = true;
|
|
terminal = "tmux-256color";
|
|
historyLimit = 10000;
|
|
baseIndex = 1;
|
|
keyMode = "vi";
|
|
mouse = true;
|
|
|
|
plugins = with pkgs.tmuxPlugins; [
|
|
sensible
|
|
yank
|
|
vim-tmux-navigator
|
|
];
|
|
|
|
extraConfig = ''
|
|
# Split panes using | and -
|
|
bind | split-window -h
|
|
bind - split-window -v
|
|
unbind '"'
|
|
unbind %
|
|
|
|
# Reload config
|
|
bind r source-file ~/.config/tmux/tmux.conf
|
|
|
|
# Easy pane switching
|
|
bind -n M-Left select-pane -L
|
|
bind -n M-Right select-pane -R
|
|
bind -n M-Up select-pane -U
|
|
bind -n M-Down select-pane -D
|
|
'';
|
|
};
|
|
}
|
|
|