aboutsummaryrefslogtreecommitdiff
path: root/modules/home/cli/tmux/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home/cli/tmux/default.nix')
-rw-r--r--modules/home/cli/tmux/default.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/home/cli/tmux/default.nix b/modules/home/cli/tmux/default.nix
new file mode 100644
index 0000000..989851c
--- /dev/null
+++ b/modules/home/cli/tmux/default.nix
@@ -0,0 +1,50 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+let
+ inherit (lib) mkEnableOption mkIf;
+ cfg = config.nx.cli.tmux;
+
+in
+{
+ options.nx.cli.tmux = {
+ enable = mkEnableOption "tmux";
+ };
+ config = mkIf cfg.enable {
+ programs.tmux = {
+ enable = true;
+ keyMode = "vi";
+ secureSocket = true;
+ terminal = "xterm-256color";
+ extraConfig = ''
+ unbind C-b
+ set-option -g prefix C-a
+ bind-key C-a send-prefix
+ bind -n M-Left select-pane -L
+ bind -n M-Right select-pane -R
+ bind -n M-Up select-pane -U
+ bind -n M-Down select-pane -D
+
+ # style
+ set -g status-position top
+ set -g status-justify absolute-centre
+ set -g status-style 'fg=color7 bg=default'
+ set -g status-right ""
+ # set -g status-right ' #(cd #{pane_current_path}; git rev-parse --abbrev-ref HEAD)'
+ # set -g status-right ""
+ set -g status-left '#S'
+ set -g status-left-style 'fg=color8'
+ set -g status-right-length 0
+ set -g status-left-length 100
+ setw -g window-status-current-style 'fg=colour6 bg=default bold'
+ setw -g window-status-current-format '#I:#W '
+ setw -g window-status-style 'fg=color8'
+
+ set -g mouse on
+ '';
+ };
+ };
+}