{ 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 = "Aster-Env"; nativeBuildInputs = [ cmake ninja ccls clang-tools lldb (imgui.override {IMGUI_BUILD_VULKAN_BINDING = true; IMGUI_BUILD_GLFW_BINDING=true; IMGUI_EXPERIMENTAL_DOCKING = true; }) ]; buildInputs = [ 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 ]; }; } ); }