{ description = "A very basic flake"; inputs = { utils.url = github:numtide/flake-utils; rust-overlay.url = "github:oxalica/rust-overlay"; }; outputs = { self, nixpkgs, utils, rust-overlay }: utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; overlays = [ rust-overlay.overlay ]; }; rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml; in { checks.ci = pkgs.stdenv.mkDerivation { name = "ci"; src = ./.; buildInputs = with pkgs; [ rust nodejs-14_x cacert ]; buildPhase = '' cd test-wasm export HOME=$TMP npm install npm run asbuild cd .. cargo test mkdir $out ''; dontInstall = true; dontFixup = true; }; devShell = pkgs.mkShell { buildInputs = with pkgs; [ rust nodejs-14_x cargo-release ]; }; } ); }