Build the server & frontend with nix
This commit is contained in:
parent
7a2ff7ad1d
commit
20067da9e1
1 changed files with 57 additions and 6 deletions
63
flake.nix
63
flake.nix
|
|
@ -34,16 +34,17 @@
|
||||||
cargo = rust;
|
cargo = rust;
|
||||||
rustc = rust;
|
rustc = rust;
|
||||||
};
|
};
|
||||||
|
dioxus-cli = naersk'.buildPackage {
|
||||||
|
src = "${dioxus}/packages/cli";
|
||||||
|
buildInputs = [pkgs.openssl];
|
||||||
|
nativeBuildInputs = [pkgs.pkg-config];
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
devShell = pkgs.mkShell {
|
devShell = pkgs.mkShell {
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
rust
|
rust
|
||||||
|
dioxus-cli
|
||||||
(naersk'.buildPackage trunk)
|
(naersk'.buildPackage trunk)
|
||||||
(naersk'.buildPackage {
|
|
||||||
src = "${dioxus}/packages/cli";
|
|
||||||
buildInputs = [pkgs.openssl];
|
|
||||||
nativeBuildInputs = [pkgs.pkg-config];
|
|
||||||
})
|
|
||||||
pkgs.httpie
|
pkgs.httpie
|
||||||
pkgs.sea-orm-cli
|
pkgs.sea-orm-cli
|
||||||
];
|
];
|
||||||
|
|
@ -51,6 +52,56 @@
|
||||||
RUST_DOC_PATH = "${rust}/share/doc/rust/html/std/index.html";
|
RUST_DOC_PATH = "${rust}/share/doc/rust/html/std/index.html";
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultPackage = naersk'.buildPackage ./.;
|
packages = {
|
||||||
|
server = naersk'.buildPackage ./.;
|
||||||
|
frontend = let
|
||||||
|
pkg = {
|
||||||
|
stdenv,
|
||||||
|
makeRustPlatform,
|
||||||
|
wasm-bindgen-cli,
|
||||||
|
}: let
|
||||||
|
rustPlatformWasm = makeRustPlatform {
|
||||||
|
rustc = rust;
|
||||||
|
cargo = rust;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "regalade-web";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
src = ./.;
|
||||||
|
|
||||||
|
cargoDeps = rustPlatformWasm.importCargoLock {lockFile = ./Cargo.lock;};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
dioxus-cli
|
||||||
|
wasm-bindgen-cli
|
||||||
|
rustPlatformWasm.cargoSetupHook
|
||||||
|
rustPlatformWasm.cargoBuildHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
export XDG_DATA_HOME=/build/data
|
||||||
|
mkdir -p $XDG_DATA_HOME
|
||||||
|
|
||||||
|
cd app
|
||||||
|
dioxus build --release
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
cp -R dist $out
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
pkgs.callPackage pkg {};
|
||||||
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue