regalade/flake.nix
2023-07-03 23:20:19 +02:00

56 lines
1.4 KiB
Nix

{
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 ./.;
});
}