Fix fswatch trigger event for services in systemctl. Add guards to subscripts in colorsync service

This commit is contained in:
Martin Larsson 2025-09-07 17:19:22 +02:00
parent a1969ce04e
commit e20321245c
2 changed files with 11 additions and 9 deletions

View file

@ -12,10 +12,15 @@ let
name = "colorsync-scriptrunner"; name = "colorsync-scriptrunner";
colorsyncScriptWrapper = pkgs.writeShellScriptBin "${name}-wrapper" '' colorsyncScriptWrapper = pkgs.writeShellScriptBin "${name}-wrapper" ''
set -euo pipefail set -euo pipefail
echo colorsync-scriptrunner is executing echo colorsync-scriptrunner is executing
"$HOME/.config/tmux/tmux-statusbar-color.sh"
"$HOME/.config/ghostty/ghostty-change-theme.sh" if tmux has-session 2>/dev/null; then
"$HOME/.config/tmux/tmux-statusbar-color.sh" || true
fi
if command -v ghostty >/dev/null 2>&1; then
"$HOME/.config/ghostty/ghostty-change-theme.sh" || true
fi
''; '';
root = "$HOME/.local/state/colorsync/current"; root = "$HOME/.local/state/colorsync/current";
in in

View file

@ -61,19 +61,16 @@ rec {
description ? "Register ${name}.", description ? "Register ${name}.",
}: }:
let let
fswatchLatencyArg = if isDarwin then "--latency=0.2" else "";
scriptPkg = pkgs.writeShellScriptBin "${name}" '' scriptPkg = pkgs.writeShellScriptBin "${name}" ''
set -euo pipefail set -euo pipefail
ROOT="${root}" ROOT="${root}"
SCRIPT="${scriptPath}" SCRIPT="${scriptPath}"
FSWATCH="${pkgs.fswatch}/bin/fswatch" FSWATCH="${pkgs.fswatch}/bin/fswatch"
FSWATCH_LATENCY_ARG="${fswatchLatencyArg}"
echo root:"$ROOT" "$FSWATCH" $FSWATCH_LATENCY_ARG --event=Updated --event=Created --event=Removed --event=Renamed -o --exclude '\.DS_Store$' "$ROOT" | xargs -n1 "$SCRIPT"
echo script:"$SCRIPT"
echo fswatch:"$FSWATCH"
echo home:"$HOME"
"$FSWATCH" --latency=0.2 -o "$ROOT" | xargs -n1 "$SCRIPT"
''; '';
baseBinPath = lib.makeBinPath [ baseBinPath = lib.makeBinPath [