Ship a working HexPigeon: typed binary parsing in Rust/WASM, a three-pane frontend, and unit tests covering the field types. Co-authored-by: Cursor <cursoragent@cursor.com>
35 lines
855 B
Nix
35 lines
855 B
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
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"
|
|
'';
|
|
}
|