feat: basic tmux configuration
This commit is contained in:
parent
4e4f46a183
commit
4beae4c2e7
4 changed files with 63 additions and 27 deletions
|
|
@ -3,12 +3,15 @@
|
|||
imports = [
|
||||
./zellij
|
||||
#./screen
|
||||
#./tmux
|
||||
./tmux
|
||||
];
|
||||
|
||||
options.homeModules.console.multiplexer = {
|
||||
zellij = {
|
||||
enable = lib.mkEnableOption "Enable zellij multiplexer";
|
||||
};
|
||||
tmux = {
|
||||
enable = lib.mkEnableOption "Enable tmux multiplexer";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
58
home/modules/console/multiplexer/tmux/default.nix
Normal file
58
home/modules/console/multiplexer/tmux/default.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.homeModules.console.multiplexer.tmux;
|
||||
inherit (config.colorscheme) colors;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
shell = "${pkgs.fish}/bin/fish";
|
||||
prefix = "C-space";
|
||||
baseIndex = 1;
|
||||
keyMode = "vi";
|
||||
escapeTime = 0;
|
||||
mouse = true;
|
||||
plugins = with pkgs; [
|
||||
{
|
||||
plugin = tmuxPlugins.mode-indicator;
|
||||
}
|
||||
];
|
||||
extraConfig = /* sh */ ''
|
||||
# General Settings
|
||||
set -g set-clipboard on
|
||||
#Appearance
|
||||
set -g status-position top
|
||||
set -g status-style "fg=#${colors.base05} bg=#${colors.base00}"
|
||||
#Windows
|
||||
set -g status-justify "centre"
|
||||
setw -g window-status-current-format "#[bg=#${colors.base0B},fg=#${colors.base00},bold] #W "
|
||||
setw -g window-status-format "#[bg=#${colors.base03},fg=#${colors.base05}] #W "
|
||||
#Left
|
||||
set -g status-left " #{tmux_mode_indicator} #[bg=#${colors.base0B},fg=#${colors.base00}] #S"
|
||||
set -g status-right '%Y-%m-%d %H:%M #{tmux_mode_indicator}'
|
||||
#Move to Pane
|
||||
bind -n M-Left select-pane -L
|
||||
bind -n M-h select-pane -L
|
||||
bind -n M-Right select-pane -R
|
||||
bind -n M-l select-pane -R
|
||||
bind -n M-Up select-pane -U
|
||||
bind -n M-k select-pane -U
|
||||
bind -n M-Down select-pane -D
|
||||
bind -n M-j select-pane -D
|
||||
#Split Pane
|
||||
bind -n M-- split-window -h
|
||||
bind -n M-= split-window -v
|
||||
#Resize Pane
|
||||
bind -n C-M-Up resize-pane -U 5
|
||||
bind -n C-M-Down resize-pane -D 5
|
||||
bind -n C-M-Left resize-pane -L 5
|
||||
bind -n C-M-Right resize-pane -R 5
|
||||
#Move to Window
|
||||
bind -n M-1
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue