update flake structure and update default.nix for production.
This commit is contained in:
0
assets/.gitkeep
Normal file
0
assets/.gitkeep
Normal file
41
default.nix
41
default.nix
@@ -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;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
40
flake.nix
40
flake.nix
@@ -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:"
|
||||||
|
|||||||
Reference in New Issue
Block a user