mirror of
https://github.com/vulkano-rs/vulkano.git
synced 2025-04-16 06:08:18 +00:00

* Add nix flake * Add `rust-src` component * Fix missing `SHADERC_LIB_DIR` * Use nightly rustfmt * Address review comments
49 lines
1.4 KiB
Nix
49 lines
1.4 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
rust-overlay = {
|
|
url = "github:oxalica/rust-overlay";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = inputs @ { self, nixpkgs, flake-utils, rust-overlay, ... }:
|
|
flake-utils.lib.eachDefaultSystem (
|
|
system: let
|
|
overlays = [ (import rust-overlay) ];
|
|
pkgs = import nixpkgs { inherit system overlays; };
|
|
in {
|
|
devShells.default = with pkgs; mkShell rec {
|
|
buildInputs = [
|
|
(rust-bin.stable.latest.minimal.override {
|
|
extensions = [ "clippy" "rust-analyzer" "rust-docs" "rust-src" ];
|
|
})
|
|
# We use nightly rustfmt features.
|
|
(rust-bin.selectLatestNightlyWith (toolchain: toolchain.rustfmt))
|
|
|
|
# Vulkan dependencies
|
|
shaderc
|
|
spirv-tools
|
|
vulkan-loader
|
|
vulkan-tools
|
|
vulkan-tools-lunarg
|
|
vulkan-validation-layers
|
|
|
|
# winit dependencies
|
|
libxkbcommon
|
|
wayland
|
|
xorg.libX11
|
|
xorg.libXcursor
|
|
xorg.libXi
|
|
xorg.libXrandr
|
|
];
|
|
|
|
LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;
|
|
SHADERC_LIB_DIR = lib.makeLibraryPath [ shaderc ];
|
|
VK_LAYER_PATH = "${vulkan-validation-layers}/share/vulkan/explicit_layer.d";
|
|
};
|
|
}
|
|
);
|
|
}
|