From ddeb5859b0ff0be88d79fe21167792c55fba96d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Thu, 29 May 2025 14:43:37 +0200 Subject: [PATCH] packages/tmux-sessionizer: maybe-create --- nix/packages/by-name/tmux-sessionizer/package.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nix/packages/by-name/tmux-sessionizer/package.nix b/nix/packages/by-name/tmux-sessionizer/package.nix index 121ee8db..90a99068 100644 --- a/nix/packages/by-name/tmux-sessionizer/package.nix +++ b/nix/packages/by-name/tmux-sessionizer/package.nix @@ -1,6 +1,7 @@ { writeShellApplication, tmux, + procps, symlinkJoin, }: let tmux-register-session = writeShellApplication { @@ -14,10 +15,24 @@ fi ''; }; + + tmux-maybe-create = writeShellApplication { + name = "__tmux-maybe-create"; + runtimeInputs = [procps tmux]; + text = '' + session_name="$1" + session_dir="$2" + + if ! pgrep tmux >/dev/null 2>&1 || ! tmux has -t="$session_name" 2>/dev/null; then + tmux new-session -ds "$session_name" -c "$session_dir" + fi + ''; + }; in symlinkJoin { name = "tmux-sessionizer"; paths = [ tmux-register-session + tmux-maybe-create ]; }