aboutsummaryrefslogtreecommitdiff
path: root/modules/users/cli/tmux/default.nix
diff options
context:
space:
mode:
authorLeander Scherer <leander@schererleander.de>2026-01-08 02:48:11 +0100
committerLeander Scherer <leander@schererleander.de>2026-01-08 19:08:12 +0100
commit6174f3650cf42aaf008012e828d5a1f8e2ce037f (patch)
tree9bbbd99680cd5adb56596a14734d4896bc6af733 /modules/users/cli/tmux/default.nix
parentc582c4d0675aada46fa196b7af1941ed753d055f (diff)
refactor(modules): separate nixos/home-manager modules, use standard option conventions
Diffstat (limited to 'modules/users/cli/tmux/default.nix')
-rw-r--r--modules/users/cli/tmux/default.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/modules/users/cli/tmux/default.nix b/modules/users/cli/tmux/default.nix
new file mode 100644
index 0000000..9259c0b
--- /dev/null
+++ b/modules/users/cli/tmux/default.nix
@@ -0,0 +1,55 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+let
+ inherit (lib) mkOption types mkIf;
+ cfg = config.nx.tmux;
+
+in
+{
+ options.nx.tmux = {
+ enable = mkOption {
+ description = "tmux";
+ type = types.bool;
+ default = config.nx.terminal.multiplexer == "tmux";
+ };
+ };
+ config = mkIf cfg.enable {
+ programs.tmux = {
+ enable = true;
+ keyMode = "vi";
+ secureSocket = true;
+ shell = "${pkgs.${config.nx.terminal.defaultShell}}/bin/${config.nx.terminal.defaultShell}";
+ 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
+ '';
+ };
+ };
+}