big refactor
This commit is contained in:
commit
76d68230f6
81 changed files with 3065 additions and 0 deletions
81
modules/features/home/tmux.nix
Normal file
81
modules/features/home/tmux.nix
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{ 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;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in a new issue