Files
bevy_controls/devshell/default.nix
T
2026-09-03 20:12:49 +00:00

48 lines
1.2 KiB
Nix

{ inputs, flake, self, pkgs }:
let
rustToolchain = pkgs.pkgsBuildHost.rust-bin.fromRustupToolchainFile ../rust-toolchain.toml;
runtimeLibraries = with pkgs; [
alsa-lib
vulkan-loader
udev
libx11
libxcursor
libxi
libxrandr
libxkbcommon
wayland
];
in {
default = pkgs.mkShell {
buildInputs = with pkgs; [
rustToolchain
stdenv.cc
git
pkg-config
shellcheck
file
openssl
] ++ runtimeLibraries;
shellHook = ''
export RUST_SRC_PATH="${rustToolchain}/lib/rustlib/src/rust/library"
if [ -d /run/opengl-driver/lib ]; then
export LD_LIBRARY_PATH="/run/opengl-driver/lib''${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
fi
export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath runtimeLibraries}''${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
if git_root=$(${pkgs.git}/bin/git rev-parse --show-toplevel 2>/dev/null); then
export LOCAL_DIR="$git_root"
else
export LOCAL_DIR="$PWD"
fi
printf '%s\n' "bevy_controls dev shell"
printf '%s\n' "Library: cargo check && cargo test"
printf '%s\n' "Example: cd crate/bevy_controls/example/basic && cargo run --features x11"
'';
};
}