{ description = "English reading lessons with a Leptos site"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, rust-overlay, ... }: let systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forEachSystem = f: nixpkgs.lib.genAttrs systems f; in { devShells = forEachSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ (import rust-overlay) ]; }; rustToolchain = pkgs.rust-bin.stable.latest.default.override { targets = [ "wasm32-unknown-unknown" ]; }; in { default = pkgs.mkShell { packages = [ rustToolchain pkgs.trunk pkgs.wasm-bindgen-cli pkgs.binaryen pkgs.pkg-config pkgs.git ]; RUST_SRC_PATH = "${rustToolchain}/lib/rustlib/src/rust/library"; shellHook = '' echo "Leptos shell ready. Run: trunk serve --open" ''; }; }); }; }