{ 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 ]; }; }); }