From 88dbfbd825ce734bb5992c433711440abc498c6f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 5 Aug 2025 18:31:43 +0100 Subject: [PATCH] Cleanup watchers properly --- tailwindcss/flake.nix | 18 ++++++++++++++++-- tailwindcss/inviqa/flake.nix | 23 ++++++++++++++++++++--- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/tailwindcss/flake.nix b/tailwindcss/flake.nix index 5d5e0f5..8b59153 100644 --- a/tailwindcss/flake.nix +++ b/tailwindcss/flake.nix @@ -30,8 +30,22 @@ ]; text = '' - simple-http-server --index --nocache "$@" & \ - tailwindcss --output tailwind.css --watch & \ + set -o monitor + + simple-http-server --index --nocache "$@" & + PID_SERVER=$! + + tailwindcss --output tailwind.css --watch & + PID_TAILWIND=$! + + cleanup() { + echo "Stopping processes..." + + kill "$PID_SERVER" "$PID_TAILWIND" 2>/dev/null || true + wait "$PID_SERVER" "$PID_TAILWIND" 2>/dev/null || true + } + trap cleanup EXIT + wait ''; }) diff --git a/tailwindcss/inviqa/flake.nix b/tailwindcss/inviqa/flake.nix index ee307cd..dcc845f 100644 --- a/tailwindcss/inviqa/flake.nix +++ b/tailwindcss/inviqa/flake.nix @@ -1,7 +1,8 @@ { inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - outputs = inputs: + outputs = + inputs: let system = "x86_64-linux"; pkgs = import inputs.nixpkgs { inherit system; }; @@ -18,8 +19,24 @@ ]; text = '' - simple-http-server --index --nocache "$@" & \ - tailwindcss --input input.css --output tailwind.css --watch & \ + set -o monitor + + simple-http-server --index --nocache "$@" & + PID_SERVER=$! + + tailwindcss --input input.css \ + --output tailwind.css \ + --watch & + PID_TAILWIND=$! + + cleanup() { + echo "Stopping processes..." + + kill "$PID_SERVER" "$PID_TAILWIND" 2>/dev/null || true + wait "$PID_SERVER" "$PID_TAILWIND" 2>/dev/null || true + } + trap cleanup EXIT + wait ''; })