{ withSystem, ... }: let name = "onchange"; in { perSystem = { pkgs, ... }: with pkgs; { packages.${name} = writeShellApplication { inherit name; runtimeInputs = [ coreutils entr ]; text = '' PATTERN="$1" shift 1 find . -path "$PATTERN" -type f | entr -cs "$@" ''; }; }; flake.modules.homeManager.base = { pkgs, ... }: { home.packages = [ (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) ]; }; }