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, rustPlatform,
packageName, makeWrapper,
pkg-config, pkg-config,
wayland, wayland,
alsa-lib, alsa-lib,
libudev-zero, udev,
libxkbcommon,
vulkan-loader,
}: }:
rustPlatform.buildRustPackage { rustPlatform.buildRustPackage {
name = "${packageName}"; name = "war-in-tunnels";
src = ./.; src = ./.;
buildInputs = [ buildInputs = [
wayland wayland
alsa-lib alsa-lib
libudev-zero udev
libxkbcommon
vulkan-loader
];
nativeBuildInputs = [
makeWrapper
pkg-config
]; ];
nativeBuildInputs = [ pkg-config ];
# cargoHash = lib.fakeHash; # cargoHash = lib.fakeHash;
cargoHash = "sha256-ZJ7DODvIiupVlmBUhQhXEVlNeDT0S62z/5Qln77JpQc="; 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); cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
packageName = cargoToml.package.name;
packageVersion = cargoToml.package.version; packageVersion = cargoToml.package.version;
bevyVersion = cargoToml.dependencies.bevy; bevyVersion = cargoToml.dependencies.bevy;
in in
{ {
packages.${system} = { packages.${system} = {
default = pkgs.callPackage ./default.nix { default = pkgs.callPackage ./default.nix { };
packageName = packageName;
};
develop = naerskLib.buildPackage { develop = naerskLib.buildPackage {
name = "${packageName}"; name = "war-in-tunnels";
src = ./.; src = ./.;
buildInputs = with pkgs; [ buildInputs = with pkgs; [
wayland wayland
alsa-lib alsa-lib
libudev-zero udev
libxkbcommon
vulkan-loader
]; ];
nativeBuildInputs = with pkgs; [ pkg-config ]; nativeBuildInputs = with pkgs; [ pkg-config ];
}; };
}; };
devShells.${system}.default = pkgs.mkShell { devShells.${system}.default = pkgs.mkShell {
env.RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
buildInputs = [ buildInputs = [
rustToolchain rustToolchain
pkgs.wayland ]
pkgs.alsa-lib ++ (with pkgs; [
pkgs.libudev-zero wayland
]; alsa-lib
udev
libxkbcommon
vulkan-loader
]);
nativeBuildInputs = with pkgs; [ pkg-config ]; 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 = '' shellHook = ''
echo "${packageName} v${packageVersion}" echo "War in Tunnels v${packageVersion}"
echo "Bevy v${bevyVersion}" echo "Bevy v${bevyVersion}"
echo "" echo ""
echo "Commands:" echo "Commands:"