61 lines
1.4 KiB
Nix
61 lines
1.4 KiB
Nix
{
|
|
description = "Rust GPU";
|
|
|
|
inputs = {
|
|
fenix = {
|
|
url = "github:nix-community/fenix/4e37fff6b22c58717577a2006c3907c9eef452dc";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixpkgs.url = "github:NixOs/nixpkgs/release-25.05";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, fenix }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
overlays = [ fenix.overlays.default ];
|
|
pkgs = import nixpkgs { inherit overlays system; };
|
|
|
|
rustPkg = pkgs.fenix.latest.withComponents [
|
|
"cargo"
|
|
"clippy"
|
|
"rust-src"
|
|
"rustc"
|
|
"rustc-dev"
|
|
"llvm-tools-preview"
|
|
"rustfmt"
|
|
];
|
|
in
|
|
{
|
|
devShells.default = with pkgs; mkShell {
|
|
hardeningDisable = [ "fortify" ];
|
|
|
|
# WGPU_ADAPTER_NAME = "vulkan";
|
|
|
|
shellHook = ''
|
|
export LD_LIBRARY_PATH=${vulkan-loader}/lib
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
gdb
|
|
rustPkg
|
|
rust-analyzer-nightly
|
|
gcc
|
|
spirv-tools
|
|
];
|
|
|
|
buildInputs = [
|
|
xorg.libX11
|
|
xorg.libXcursor
|
|
xwayland
|
|
xorg.libXrandr
|
|
xorg.libXi
|
|
vulkan-loader
|
|
vulkan-tools
|
|
vulkan-headers
|
|
vulkan-validation-layers
|
|
];
|
|
};
|
|
});
|
|
}
|