Hoist PKG_CONFIG_PATH and the ninja-jcap PATH prefix to shared/global
scope so `task build` (flutter build linux --release) gets the same
OOM protection as the run task, without duplicating the setup.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
flutter_tools shells out to bare `ninja -C <dir> install` with no -j
flag, so ninja defaults to nproc+2 parallel compile/link jobs. On this
6-core/7.6GiB box that's enough concurrent clang jobs (sqlite3's
single-TU amalgamation is the worst offender) to trip systemd-oomd
well before swap fills up.
Add tools/ninja-jcap, a PATH-shadowing ninja shim that caps jobs via
NINJA_JOBS (default 2), and have the Taskfile prepend it inline in the
run command. Task's `env:` block can't override PATH itself (the OS
env wins), so the shim has to go on PATH via the shell command line.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>