{ outputs = { self, nixpkgs, }: let pkgs = nixpkgs.legacyPackages.x86_64-linux; buildRustPackage = pkgs.rustPlatform.buildRustPackage.override {rustc = pkgs.rustc-wasm32;}; rust-lld = pkgs.symlinkJoin { name = "rust-lld"; paths = [pkgs.rustc-wasm32.llvmPackages.lld]; postBuild = '' ln -s $out/bin/lld $out/bin/rust-lld ''; }; in { packages.x86_64-linux.default = buildRustPackage rec { name = "gems"; src = ./.; cargoLock = { lockFile = ./Cargo.lock; }; doCheck = false; buildPhase = '' cargo build --target wasm32-unknown-unknown --release wasm-bindgen --out-name gems \ --out-dir $out \ --target web target/wasm32-unknown-unknown/release/gems.wasm ''; installPhase = '' cp -r assets $out cp index.html $out ''; nativeBuildInputs = [ rust-lld pkgs.wasm-bindgen-cli ]; }; }; }