1{2 description = "lofi-node iroh-js cross-compilation dev shell (Linux + Windows via zig; macOS builds on a mac)";34 inputs = {5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";6 rust-overlay.url = "github:oxalica/rust-overlay";7 flake-utils.url = "github:numtide/flake-utils";8 };910 outputs = { self, nixpkgs, rust-overlay, flake-utils }:11 flake-utils.lib.eachDefaultSystem (system:12 let13 pkgs = import nixpkgs {14 inherit system;15 overlays = [ (import rust-overlay) ];16 };17 rust = pkgs.rust-bin.stable.latest.default.override {18 targets = [19 "x86_64-unknown-linux-gnu"20 "aarch64-unknown-linux-gnu"21 "x86_64-pc-windows-gnu"22 ];23 };24 in {25 devShells.default = pkgs.mkShell {26 packages = [27 rust28 pkgs.zig # cross cc/linker for libc + ring's C/asm29 pkgs.cargo-zigbuild # cargo <-> zig glue, per-target30 pkgs.pkg-config31 ];32 shellHook = ''33 echo "lofi-node iroh-js cross shell — cargo-zigbuild $(cargo-zigbuild --version 2>/dev/null | head -1)"34 echo " run: ./scripts/cross-build.sh"35 '';36 };37 });38}