geometric_algebra/flake.nix
2025-09-12 12:18:47 +12:00

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