# Make CI a single hermetic Nix build · jet/noisebell

[View on GitCafe](https://git.cafe/jet/noisebell/commit/1e1faddd4d5088cf1de479bc14b9f8a2fc3512e3)

Repository: [jet/noisebell](https://git.cafe/jet/noisebell)

Visibility: public

Requested revision: 1e1faddd4d5088cf1de479bc14b9f8a2fc3512e3

Requested commit: 1e1faddd4d5088cf1de479bc14b9f8a2fc3512e3

Commit: 1e1faddd4d5088cf1de479bc14b9f8a2fc3512e3

Tree: 1a439ca4dd40c93d2c5bd71886bbb0facd16efd5

Author: Jet

Committer: Jet

## Message

```
Make CI a single hermetic Nix build

Add checks.x86_64-linux covering fmt, clippy, nextest, the four x86_64
release binaries, and all four cross-compiled aarch64 Pi binaries, plus
a .#ci link farm over them so one nix build exercises everything and Nix
schedules the independent branches in parallel.

Move to a nightly toolchain selected with selectLatestNightlyWith, which
skips nightlies missing any requested component. Nightly enables the
parallel rustc frontend (-Z threads) everywhere and the Cranelift codegen
backend for the dev profile, so clippy and tests get faster codegen while
release binaries keep LLVM.

Collapse the four per-binary cross dependency builds into one per target,
scoped to the two Pi crates so host-only crates stay out of the cross
graph, and drop the second toolchain now that one carries both aarch64
targets.

Add a lean devShells.ci that omits wrangler, doctl and the flashing tools.

Fix a never_loop clippy denial in read_wifi_metrics that the new clippy
gate surfaces; the loop only ever ran one iteration.

```

## Parents

- [6ac29c1d1ad36fe6323343a351d32f74494a5eea](https://git.cafe/jet/noisebell/commit/6ac29c1d1ad36fe6323343a351d32f74494a5eea?format=markdown)

[Source at this commit](https://git.cafe/jet/noisebell/tree/1e1faddd4d5088cf1de479bc14b9f8a2fc3512e3?format=markdown)
