From b69c80497f791f96e9478cece7a6004c2648cd04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Thu, 29 May 2025 14:49:21 +0200 Subject: [PATCH] packages/tmux-sessionizer: attach-or-switch --- .../by-name/tmux-sessionizer/package.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/nix/packages/by-name/tmux-sessionizer/package.nix b/nix/packages/by-name/tmux-sessionizer/package.nix index 90a99068..c6e22fa9 100644 --- a/nix/packages/by-name/tmux-sessionizer/package.nix +++ b/nix/packages/by-name/tmux-sessionizer/package.nix @@ -28,11 +28,27 @@ fi ''; }; + + tmux-attach-or-switch = writeShellApplication { + name = "__tmux-attach-or-switch"; + runtimeInputs = [tmux]; + text = '' + session_name="$1" + TMUX=''${TMUX:-} + + if [ -z "$TMUX" ]; then + tmux attach-session -t "$session_name" + else + tmux switch-client -t "$session_name" + fi + ''; + }; in symlinkJoin { name = "tmux-sessionizer"; paths = [ tmux-register-session tmux-maybe-create + tmux-attach-or-switch ]; }