Stories

Your Mac never compiles

One `cross = true` line, and the Linux fleet builds macOS binaries your laptop just downloads.

Compiling a Rust workspace on a laptop turns it into a hand warmer, and CI on hosted macOS runners is slow and expensive. Most teams accept one or the other.

Here a package opts into macOS with one line: cross = true. The Linux CI fleet cross-compiles it for Apple silicon, pushes the closure to cache.ix.dev, and aliases the result into the native Darwin package set. A Mac running nix build substitutes the prebuilt binary instead of compiling anything. The package definition never learns any of this happened.

linux builderlinux buildercache.ix.devaarch64-darwin closuresdownloadyour Mac0 s compiling

The design and its tradeoffs are written up in Plan 0009, which the fleet has since made load-bearing.