2.1 KiB
2.1 KiB
cargo-tauri.hook
Tauri is a framework for building smaller, faster, and more secure desktop applications with a web frontend.
In Nixpkgs, cargo-tauri.hook
overrides the default build and install phases.
Example code snippet
{
lib,
stdenv,
rustPlatform,
fetchNpmDeps,
cargo-tauri,
glib-networking,
nodejs,
npmHooks,
openssl,
pkg-config,
webkitgtk_4_1,
wrapGAppsHook4,
}:
rustPlatform.buildRustPackage rec {
# . . .
cargoHash = "...";
# Assuming our app's frontend uses `npm` as a package manager
npmDeps = fetchNpmDeps {
name = "${pname}-npm-deps-${version}";
inherit src;
hash = "...";
};
nativeBuildInputs = [
# Pull in our main hook
cargo-tauri.hook
# Setup npm
nodejs
npmHooks.npmConfigHook
# Make sure we can find our libraries
pkg-config
wrapGAppsHook4
];
buildInputs =
[ openssl ]
++ lib.optionals stdenv.hostPlatform.isLinux [
glib-networking # Most Tauri apps need networking
webkitgtk_4_1
];
# Set our Tauri source directory
cargoRoot = "src-tauri";
# And make sure we build there too
buildAndTestSubdir = cargoRoot;
# . . .
}
Variables controlling cargo-tauri
Tauri Exclusive Variables
tauriBuildFlags
Controls the flags passed to cargo tauri build
.
tauriBundleType
The bundle type to build.
dontTauriBuild
Disables using tauriBuildHook
.
dontTauriInstall
Disables using tauriInstallPostBuildHook
and tauriInstallHook
.
Honored Variables
Along with those found in , the
following variables used by cargoBuildHook
and cargoInstallHook
are honored
by the cargo-tauri setup hook.
buildAndTestSubdir
cargoBuildType
cargoBuildNoDefaultFeatures
cargoBuildFeatures