58 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { config, lib, pkgs, ... }:
 | |
| 
 | |
| let
 | |
|   cfg = config.ooknet.console.multiplexer.tmux;
 | |
|   inherit (config.colorscheme) palette;
 | |
| 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=#${palette.base05} bg=#${palette.base00}"
 | |
|         #Windows
 | |
|         set -g status-justify "centre"
 | |
|         setw -g window-status-current-format "#[bg=#${palette.base0B},fg=#${palette.base00},bold] #W "
 | |
|         setw -g window-status-format "#[bg=#${palette.base03},fg=#${palette.base05}] #W "
 | |
|         #Left
 | |
|         set -g status-left " #{tmux_mode_indicator} #[bg=#${palette.base0B},fg=#${palette.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 
 | |
|       '';
 | |
|     };
 | |
|   };
 | |
| }
 |