Files
Archimedes/flake.nix
2025-03-08 00:03:47 -06:00

64 lines
1.3 KiB
Nix
Executable File

{
description = "Build Project X-001";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
imgui = {
url = "github:ocornut/imgui?ref=docking";
flake = false;
};
};
outputs = { self, nixpkgs, imgui }@inputs: let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
in {
packages.${system}.default = pkgs.stdenv.mkDerivation {
name = "Engine";
src = ./src;
imgui = inputs.imgui;
buildInputs = with pkgs; [
vulkan-headers
vulkan-loader
];
buildPhase = ''
g++ *.cpp -o $name
'';
installPhase = ''
mkdir -p $out/bin
cp $name $out/bin
'';
};
shaders = pkgs.stdenv.mkDerivation {
name = "Engine";
src = ./modules/shaders;
buildInputs = with pkgs; [
shaderc
];
buildPhase = ''
glslc *.vert -o vert.spv
glslc *.frag -o frag.spv
'';
installPhase = ''
mkdir -p $out/bin
cp *.spv $out/bin
'';
};
};
}