vulkano/flake.nix
2025-04-03 15:48:30 +02:00

59 lines
1.8 KiB
Nix

{
description = "vulkan stuff";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
systems.url = "github:nix-systems/default-linux";
};
outputs = inputs: let
eachSystem = inputs.nixpkgs.lib.genAttrs (import inputs.systems);
pkgsFor = inputs.nixpkgs.legacyPackages;
in {
packages = eachSystem (system: {
default = inputs.self.packages.${system}.ralc;
ralc = pkgsFor.${system}.callPackage ./nix/package.nix {};
});
devShells = eachSystem (system: {
default = let
pkgs = pkgsFor.${system};
in
pkgsFor.${system}.mkShell rec {
packages = builtins.attrValues {
inherit
(pkgs)
wayland
cargo
bacon
clippy
rustfmt
rust-analyzer
vulkan-tools
vulkan-loader
vulkan-headers
vulkan-validation-layers
vulkan-tools-lunarg
vulkan-extension-layer
;
};
shellHook = with pkgs; ''
echo "Welcome to my Vulkan Shell"
echo "vulkan loader: ${vulkan-loader}"
echo "vulkan headers: $vulkan-headers}"
echo "validation layer: ${vulkan-validation-layers}"
echo "tools: ${vulkan-tools}"
echo "tools-lunarg: ${vulkan-tools-lunarg}"
echo "extension-layer: ${vulkan-extension-layer}"
'';
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath packages}";
VK_LAYER_PATH = "${pkgs.vulkan-validation-layers}/share/vulkan/explicit_layer.d";
VULKAN_SDK = "${pkgs.vulkan-validation-layers}/share/vulkan/explicit_layer.d";
XDG_DATA_DIRS = builtins.getEnv "XDG_DATA_DIRS";
XDG_RUNTIME_DIR = "/run/user/1000";
};
});
};
}