Tomers is a Nix flake, that, when imported, sets up the right cross-compilation toolchains, dev shells, and builds, based on a user-defined list of targeted platforms.
Builds can be defined both inside and outside the Nix store in the same platform definition.
It uses Crane internally to support incremental recompilation.
See https://github.com/boralg/sursface/blob/main/flake.nix for a WebGPU project compiled to various targets.