81 lines
2.3 KiB
Nix
81 lines
2.3 KiB
Nix
{ lib, osconfig, pkgs, ... }:
|
|
let
|
|
TOP_PANEL = ''
|
|
set -g pane-border-status top
|
|
set -g pane-border-lines single
|
|
set -g pane-border-indicators colour
|
|
|
|
set -g pane-border-format "#{E:@asa-module-icon} #{pane_index} #{E:@asa-module-text} #{pane_current_path} #[default]"
|
|
'';
|
|
|
|
OPTIONS = ''
|
|
set-option -g destroy-unattached on
|
|
set -g allow-passthrough on
|
|
'';
|
|
|
|
BINDS = ''
|
|
unbind r
|
|
bind r source-file ~/.config/tmux/tmux.conf;
|
|
'';
|
|
|
|
BOTTOM_PANEL = ''
|
|
set -g status-justify "centre"
|
|
|
|
set -g window-status-format "#{E:@asa-module-icon} #I #{E:@asa-module-text} #W "
|
|
set -g window-status-current-format "#{E:@asa-module-icon} #I #{E:@asa-module-text} #W "
|
|
|
|
set -gg status-left "#{E:@asa-module-text} %A %d/%m/%Y #[default] "
|
|
set -ag status-left "#{E:@asa-module-text} %I:%M %p #[default] "
|
|
set -g status-left-length 100
|
|
|
|
set -g status-right "#{E:@asa-module-icon} #{E:@asa-module-text} #S #[default] "
|
|
set -ag status-right "#{E:@asa-module-icon} CPU #{E:@asa-module-text} #{cpu_percentage} #[default] "
|
|
set -ag status-right "#{E:@asa-module-icon} RAM #{E:@asa-module-text} #{ram_percentage} "
|
|
set -g status-right-length 100
|
|
|
|
setw -g automatic-rename off
|
|
'';
|
|
|
|
CATPPUCCIN = ''
|
|
set -g @catppuccin_flavor 'mocha'
|
|
set -ogq @asa-module-icon "#[bg=#{E:@thm_sapphire},fg=#{E:@thm_surface_0}]"
|
|
set -ogq @asa-module-text "#[bg=#{E:@thm_surface_0},fg=#{E:@thm_fg}]"
|
|
'';
|
|
|
|
YANK = ''
|
|
set -g @yank_selection 'primary'
|
|
set -g @yank_selection_mouse 'primary'
|
|
'';
|
|
|
|
EXTRA_CONFIG = ''
|
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|
bind-key -T copy-mode-vi V send-keys -X select-line
|
|
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
|
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
|
'';
|
|
in
|
|
{
|
|
programs.tmux = lib.mkIf osconfig.device.programs.tmux.enable {
|
|
enable = true;
|
|
keyMode = "vi";
|
|
disableConfirmationPrompt = true;
|
|
prefix = "c-a";
|
|
|
|
extraConfig = TOP_PANEL + OPTIONS + BINDS + EXTRA_CONFIG;
|
|
|
|
plugins = with pkgs.tmuxPlugins; [
|
|
{
|
|
plugin = yank;
|
|
extraConfig = YANK;
|
|
}
|
|
{
|
|
plugin = catppuccin;
|
|
extraConfig = CATPPUCCIN;
|
|
}
|
|
{
|
|
plugin = cpu;
|
|
extraConfig = BOTTOM_PANEL;
|
|
}
|
|
];
|
|
};
|
|
}
|