This commit is contained in:
2026-06-03 14:16:45 +02:00
parent fe9c7e9682
commit f9bebfc938
12 changed files with 1493 additions and 195 deletions
+55 -51
View File
@@ -1,5 +1,5 @@
{
description = "Basic rust flake for development and production";
description = "Declarative Tauri wrapper";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
@@ -18,62 +18,66 @@
};
};
outputs =
{
self,
nixpkgs,
naersk,
fenix,
}:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
outputs = {
self,
nixpkgs,
naersk,
fenix,
}: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
rustToolchain = fenix.packages.${system}.stable.toolchain;
naerskLib = pkgs.callPackage naersk {
cargo = rustToolchain;
rustc = rustToolchain;
};
rustToolchain = fenix.packages.${system}.stable.toolchain;
naerskLib = pkgs.callPackage naersk {
cargo = rustToolchain;
rustc = rustToolchain;
};
cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
packageName = cargoToml.package.name;
packageVersion = cargoToml.package.version;
# you can list your other dependencies
# [dependency_name]Version = cargoToml.dependencies.[dependency_name];
# ...
in
{
packages.${system} = {
default = pkgs.callPackage ./default.nix {
packageName = packageName;
};
cargoToml = fromTOML (builtins.readFile ./Cargo.toml);
packageVersion = cargoToml.package.version;
in {
packages.${system} = {
default = pkgs.callPackage ./default.nix {};
develop = naerskLib.buildPackage {
name = "${packageName}";
src = ./.;
# buildInputs = with pkgs; []; <-- add nixpkgs if your dependencies requires system libraries
nativeBuildInputs = with pkgs; [ pkg-config ];
};
};
develop = naerskLib.buildPackage {
name = "veil-rs";
devShells.${system}.default = pkgs.mkShell {
env.RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
buildInputs = [
rustToolchain
# pkgs. ... <-- add nixpkgs if your dependencies requires system libraries
];
nativeBuildInputs = with pkgs; [ pkg-config ];
src = ./.;
shellHook = ''
echo "${packageName} v${packageVersion}"
echo "[you can list your other dependencies here]"
echo ""
echo "Commands:"
echo " nix build - Build production version"
echo " nix run - Run production version"
echo " nix build .#develop - Build development version"
echo " nix run .#develop - Run development version"
# buildInputs = with pkgs; [];
#
nativeBuildInputs = with pkgs; [pkg-config];
postInstall = ''
mv $out/bin/veil_rs $out/bin/veil-rs
'';
};
};
devShells.${system}.default = pkgs.mkShell {
env = {
RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
# LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath (with pkgs; []);
};
buildInputs = [
rustToolchain
];
nativeBuildInputs = with pkgs; [pkg-config];
shellHook = ''
echo "Veil.rs v${packageVersion}"
echo ""
echo "Commands:"
echo " nix update flake - Update flakes versions"
echo " nix build - Build production version"
echo " nix run - Run production version"
echo " nix build .#develop - Build development version"
echo " nix run .#develop - Run development version"
echo ""
cargo run -- -h
'';
};
};
}