update flake structure and update default.nix for production.

This commit is contained in:
2025-11-13 23:42:39 +01:00
parent 830075116a
commit d13a7b4f96
3 changed files with 63 additions and 18 deletions

0
assets/.gitkeep Normal file
View File

View File

@@ -1,21 +1,50 @@
{
# lib,
lib,
rustPlatform,
packageName,
makeWrapper,
pkg-config,
wayland,
alsa-lib,
libudev-zero,
udev,
libxkbcommon,
vulkan-loader,
}:
rustPlatform.buildRustPackage {
name = "${packageName}";
name = "war-in-tunnels";
src = ./.;
buildInputs = [
wayland
alsa-lib
libudev-zero
udev
libxkbcommon
vulkan-loader
];
nativeBuildInputs = [
makeWrapper
pkg-config
];
nativeBuildInputs = [ pkg-config ];
# cargoHash = lib.fakeHash;
cargoHash = "sha256-ZJ7DODvIiupVlmBUhQhXEVlNeDT0S62z/5Qln77JpQc=";
cargoBuildFlags = [
"--bin"
"war-in-tunnels"
];
postInstall = ''
mkdir $out/share
ls
cp -r assets $out/share
wrapProgram $out/bin/war-in-tunnels --chdir $out/share
'';
postFixup = ''
patchelf $out/bin/.war-in-tunnels-wrapped \
--add-rpath ${
lib.makeLibraryPath [
vulkan-loader
libxkbcommon
]
}
'';
env = {
ZSTD_SYS_USE_PKG_CONFIG = true;
};
}

View File

@@ -36,40 +36,56 @@
};
cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
packageName = cargoToml.package.name;
packageVersion = cargoToml.package.version;
bevyVersion = cargoToml.dependencies.bevy;
in
{
packages.${system} = {
default = pkgs.callPackage ./default.nix {
packageName = packageName;
};
default = pkgs.callPackage ./default.nix { };
develop = naerskLib.buildPackage {
name = "${packageName}";
name = "war-in-tunnels";
src = ./.;
buildInputs = with pkgs; [
wayland
alsa-lib
libudev-zero
udev
libxkbcommon
vulkan-loader
];
nativeBuildInputs = with pkgs; [ pkg-config ];
};
};
devShells.${system}.default = pkgs.mkShell {
env.RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
buildInputs = [
rustToolchain
pkgs.wayland
pkgs.alsa-lib
pkgs.libudev-zero
];
]
++ (with pkgs; [
wayland
alsa-lib
udev
libxkbcommon
vulkan-loader
]);
nativeBuildInputs = with pkgs; [ pkg-config ];
env = {
RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
LD_LIBRARY_PATH =
with pkgs;
"$LD_LIBRARY_PATH:${
lib.makeLibraryPath [
wayland
alsa-lib
udev
libxkbcommon
vulkan-loader
]
}";
};
shellHook = ''
echo "${packageName} v${packageVersion}"
echo "War in Tunnels v${packageVersion}"
echo "Bevy v${bevyVersion}"
echo ""
echo "Commands:"