In order to get to minimal overhead when incrementally building a project, we should consider caching the results of meson setup build. Perhaps we copy out the contents of the build directory into a content-addressed output and replace build_dir_inputs with this one derived path as an input to nix-ninja-task.
We can also consider caching the unpacked source repo, it's unclear if it'll be cheaper to lndir it into subsequent derivations instead of unpacking a large repo tarball every time.