nixos-config/home-manager/modules/tmux/default.nix
Erwin Boskma 4cd0f83ce8
Some checks failed
/ check (push) Failing after 2m46s
Run nixfmt
2024-02-05 11:46:52 +01:00

86 lines
2.4 KiB
Nix

{
pkgs,
config,
lib,
...
}:
with lib;
let
cfg = config.eboskma.programs.tmux;
in
{
options.eboskma.programs.tmux = {
enable = mkEnableOption "enable tmux";
};
config = mkIf cfg.enable {
programs.tmux = {
enable = true;
prefix = "C-a";
terminal = "tmux-256color";
clock24 = true;
baseIndex = 1;
keyMode = "emacs";
plugins = with pkgs.tmuxPlugins; [
sensible
tmux-fzf
{
plugin = dracula;
extraConfig = ''
set -g @dracula-refresh-rate 10
set -g @dracula-show-powerline true
set -g @dracula-show-fahrenheit false
set -g @dracula-show-left-icon session
set -g @dracula-network-bandwith "enp4s0"
set -g @dracula-military-time true
set -g @dracula-day-month true
set -g @dracula-plugins "time cpu-usage ram-usage network network-bandwith"
'';
}
];
extraConfig = ''
setw -g automatic-rename
set -ag update-environment "SWAYSOCK"
bind-key r source ~/.config/tmux/tmux.conf \; display "Reloaded config."
bind-key C-a send-prefix
bind-key | split-window -h
bind-key - split-window -v
bind-key h select-pane -L
bind-key n select-pane -D
bind-key e select-pane -U
bind-key i select-pane -R
bind-key -r C-h select-window -t :-
bind-key -r C-i select-window -t :+
bind-key -r H resize-pane -L 5
bind-key -r N resize-pane -D 5
bind-key -r E resize-pane -U 5
bind-key -r I resize-pane -R 5
bind-key C-[ swap-window -t -1
bind-key C-] swap-window -t +1
bind-key -T copy-mode-vi h send-keys -X cursor-left
bind-key -T copy-mode-vi n send-keys -X cursor-down
bind-key -T copy-mode-vi e send-keys -X cursor-up
bind-key -T copy-mode-vi i send-keys -X cursor-right
set -g mouse on
bind-key -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind-key -n WheelDownPane select-pane -t= \; send-keys -M
'';
};
home.packages = with pkgs; [
python3Packages.powerline
bc
];
};
}