{ description = "A basic flake with a shell"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.naersk.url = "github:nix-community/naersk"; inputs.rust-overlay.url = "github:oxalica/rust-overlay"; inputs.trunk = { url = "github:thedodd/trunk"; flake = false; }; inputs.dioxus = { url = "github:DioxusLabs/dioxus"; flake = false; }; outputs = { self, nixpkgs, flake-utils, naersk, rust-overlay, trunk, dioxus, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [(import rust-overlay)]; }; rust = pkgs.rust-bin.stable.latest.default.override { targets = ["wasm32-unknown-unknown"]; }; naersk' = pkgs.callPackage naersk { cargo = rust; rustc = rust; }; in { devShell = pkgs.mkShell { nativeBuildInputs = [ rust (naersk'.buildPackage trunk) (naersk'.buildPackage { src = "${dioxus}/packages/cli"; buildInputs = [pkgs.openssl]; nativeBuildInputs = [pkgs.pkg-config]; }) pkgs.httpie pkgs.sea-orm-cli ]; RUST_PATH = "${rust}"; RUST_DOC_PATH = "${rust}/share/doc/rust/html/std/index.html"; }; defaultPackage = naersk'.buildPackage ./.; }); }