3cd9f2c5

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Add a Nix flake for fast, incrementally-cached CI

Builds bombadil with crane and the oxalica rust-overlay (x86_64-linux): the CLI
binary, static musl + aarch64 release binaries, the wasm inspect UI, the npm
package, plus clippy, rustfmt and the test suite -- each as exactly one
attribute. Dependencies are compiled once in a single derivation whose source
crane reduces to cargo metadata only, so editing source never rebuilds them.
nix-ci.nix hand-declares the build graph and disables auto dependency discovery
to keep no-op rebuilds fast.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 2s 2s 2s 0s
Eval 2s 1m25s 1m25s 1m28s 0s
Build 1m35s 5m55s - - 7s
Suite 0s 7m23s - - 8m00s