project-aster/flake.nix

59 lines
1.4 KiB
Nix

{
inputs = {
nixpkgs.url = "github:kidrigger/nixpkgs/imgui-docking";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = {self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
};
eabase = pkgs.callPackage ./vendored-nix/eabase {};
eastl = pkgs.callPackage ./vendored-nix/eastl { inherit eabase; };
tinygltf = pkgs.callPackage ./vendored-nix/tinygltf {};
debugbreak = pkgs.callPackage ./vendored-nix/scottt-debugbreak {};
in
with pkgs;
{
devShells.default = clangStdenv.mkDerivation {
name = "BlazeEnv";
nativeBuildInputs = [
cmake
ninja
ccls
clang-tools
lldb
(imgui.override {IMGUI_BUILD_VULKAN_BINDING = true; IMGUI_BUILD_GLFW_BINDING=true; IMGUI_EXPERIMENTAL_DOCKING = true; })
];
buildInputs = [
sdl3
glm
glfw3
eastl
fmt
eabase
eastl
entt
tinygltf
debugbreak
stb
# vulkan
vulkan-headers
vulkan-loader
vulkan-validation-layers
vulkan-memory-allocator
directx-shader-compiler
glslang
shaderc
shader-slang
];
};
}
);
}