From 5b66d08e67f9b2521ba0ce40a4333d36257b734d Mon Sep 17 00:00:00 2001 From: Patrik Stutz Date: Mon, 30 Sep 2024 00:28:03 +0200 Subject: [PATCH] allow running process-compose in detached mode, then attaching and stopping afterwards --- example/flake.nix | 2 ++ nix/process-compose/default.nix | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/example/flake.nix b/example/flake.nix index 3a640b3..a0c02d9 100644 --- a/example/flake.nix +++ b/example/flake.nix @@ -78,6 +78,8 @@ }; # nix run .#ponysay up to start the process + # nun run .#ponysay attach to show the output + # nix run .#ponysay down to stop the process packages.ponysay = (import ../nix/eval-modules.nix).makeProcessCompose { inherit pkgs; name = "ponysay"; diff --git a/nix/process-compose/default.nix b/nix/process-compose/default.nix index 36e75fa..23ab565 100644 --- a/nix/process-compose/default.nix +++ b/nix/process-compose/default.nix @@ -44,7 +44,15 @@ in text = '' ${preHook} - set -x; process-compose ${arguments.global} ${arguments.up}"$@"; set +x + params=(${arguments.global}) + set +u + if [ -z "$1" ] || [[ "$1" == "up" ]] || [[ "$1" == -* ]] ; then + params+=(${arguments.up}) + fi + + set -x; + process-compose "''${params[@]}" "$@"; + set +x ${postHook} '';