48 lines
1.2 KiB
Nix
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"
|
|
'';
|
|
};
|
|
}
|