{ pkgs ? import {} }: pkgs.mkShell { name = "hex-pigeon-dev"; buildInputs = with pkgs; [ # Rust + WASM toolchain rustup wasm-pack binaryen # wasm-opt # Node / frontend nodejs_22 # Utilities pkg-config openssl ]; shellHook = '' export RUSTUP_HOME="$HOME/.rustup" export CARGO_HOME="$HOME/.cargo" export PATH="$CARGO_HOME/bin:$PATH" # Install stable + wasm32 target on first run rustup toolchain install stable 2>/dev/null || true rustup default stable 2>/dev/null || true rustup target add wasm32-unknown-unknown 2>/dev/null || true echo "HexPigeon dev shell ready" echo " • Build WASM : cd parser-wasm && wasm-pack build --target web --out-dir ../frontend/src/wasm" echo " • Frontend : cd frontend && npm install && npm run dev" ''; }