{ inputs, pkgs, ... }: { TestMenu = pkgs.stdenvNoCC.mkDerivation { name = "TestMenu"; src = ./.; nativeBuildInputs = with pkgs; [ clang ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/TestMenu/*.cpp \ -fpic -shared \ -Wall \ -DTESTMENU_DYNAMIC \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; TestNotCurses = pkgs.stdenvNoCC.mkDerivation { name = "TestNotCurses"; src = ./.; nativeBuildInputs = with pkgs; [ clang ]; buildInputs = with pkgs; [ notcurses ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/TestNotCurses/*.cpp \ -fpic -shared \ -I include \ -Wall \ -lnotcurses \ -DTESTNOTCURSES_DYNAMIC \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; Print = pkgs.stdenvNoCC.mkDerivation { name = "Print"; src = ./.; nativeBuildInputs = with pkgs; [ clang ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/Print/*.cpp \ -fpic -shared \ -I include \ -Wall \ -DPRINT_DYNAMIC \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; DependsOnPrint = pkgs.stdenvNoCC.mkDerivation { name = "DependsOnPrint"; src = ./.; nativeBuildInputs = with pkgs; [ clang ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/DependsOnPrint/*.cpp \ -fpic -shared \ -I include \ -Wall \ -DDEPENDSONPRINT_DYNAMIC \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; DependsOnPrintStatic = pkgs.stdenvNoCC.mkDerivation { name = "DependsOnPrintStatic"; src = ./.; nativeBuildInputs = with pkgs; [ clang ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/DependsOnPrintStatic/*.cpp \ modules/Archimedes-Modules/Print/*.cpp \ -fpic -shared \ -I include -I . \ -DDEPENDSONPRINTSTATIC_DYNAMIC \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; TestImgui = pkgs.stdenvNoCC.mkDerivation { name = "TestImgui"; src = ./.; imgui = inputs.imgui; nativeBuildInputs = with pkgs; [ clang ]; buildInputs = with pkgs; [ glfw glew ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/TestImgui/*.cpp \ modules/WindowModule/*.cpp \ modules/ImguiModule/*.cpp \ $imgui/backends/imgui_impl_glfw.cpp \ $imgui/backends/imgui_impl_opengl3.cpp \ $imgui/misc/cpp/*.cpp \ $imgui/*.cpp \ -DRENDERER_OPENGL \ -DWINDOW_GLFW \ -DTESTIMGUI_DYNAMIC \ -fpic -shared \ -I include -I $imgui -I . \ -lGL -lglfw -lGLEW \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; TestClay = pkgs.stdenvNoCC.mkDerivation { name = "TestClay"; src = ./.; clay = inputs.clay; nativeBuildInputs = with pkgs; [ clang ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/TestClay/*.cpp \ -fpic -shared \ -I include \ -DRENDERER_OPENGL \ -DWINDOW_GLFW \ -DTESTCLAY_DYNAMIC \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; ChatServer = pkgs.stdenvNoCC.mkDerivation { name = "ChatServer"; src = ./.; nativeBuildInputs = with pkgs; [ clang ]; buildInputs = with pkgs; [ gamenetworkingsockets ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/Chat/ChatServer/*.cpp \ modules/ServerModule/*.cpp \ -fpic -shared \ -I ${pkgs.gamenetworkingsockets}/include/GameNetworkingSockets \ -I include -I . \ -lGameNetworkingSockets \ -DCHATSERVER_DYNAMIC \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; ChatServerVoice = pkgs.stdenvNoCC.mkDerivation { name = "ChatServerVoice"; src = ./.; nativeBuildInputs = with pkgs; [ clang ]; buildInputs = with pkgs; [ gamenetworkingsockets ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/ChatVoice/ChatServerVoice/*.cpp \ modules/ServerModule/*.cpp \ -fpic -shared \ -I ${pkgs.gamenetworkingsockets}/include/GameNetworkingSockets \ -I include -I . \ -lGameNetworkingSockets \ -DCHATSERVERVOICE_DYNAMIC \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; ChatClient = pkgs.stdenvNoCC.mkDerivation { name = "ChatClient"; src = ./.; imgui = inputs.imgui; nativeBuildInputs = with pkgs; [ clang ]; buildInputs = with pkgs; [ gamenetworkingsockets glfw glew ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/Chat/ChatClient/*.cpp \ modules/ClientModule/*.cpp \ -I ${pkgs.gamenetworkingsockets}/include/GameNetworkingSockets \ -lGameNetworkingSockets \ -DCHATCLIENT_DYNAMIC \ modules/WindowModule/*.cpp \ modules/ImguiModule/*.cpp \ $imgui/backends/imgui_impl_glfw.cpp \ $imgui/backends/imgui_impl_opengl3.cpp \ $imgui/misc/cpp/*.cpp \ $imgui/*.cpp \ -DRENDERER_OPENGL \ -DWINDOW_GLFW \ -fpic -shared \ -I include -I $imgui -I . \ -lGL -lglfw -lGLEW \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; ChatClientVoice = pkgs.stdenvNoCC.mkDerivation { name = "ChatClientVoice"; src = ./.; imgui = inputs.imgui; nativeBuildInputs = with pkgs; [ clang ]; buildInputs = with pkgs; [ gamenetworkingsockets sdl3 glew ]; buildPhase = '' clang++ \ modules/Archimedes-Modules/ChatVoice/ChatClientVoice/*.cpp \ modules/ClientModule/*.cpp \ -I ${pkgs.gamenetworkingsockets}/include/GameNetworkingSockets \ -lGameNetworkingSockets \ -DCHATCLIENTVOICE_DYNAMIC \ modules/WindowModule/*.cpp \ modules/ImguiModule/*.cpp \ $imgui/backends/imgui_impl_sdl3.cpp \ $imgui/backends/imgui_impl_opengl3.cpp \ $imgui/misc/cpp/*.cpp \ $imgui/*.cpp \ -DRENDERER=1 \ -DWINDOW=2 \ -fpic -shared \ -I include -I $imgui -I . \ -lGL -lSDL3 -lGLEW \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; Terminal = pkgs.stdenvNoCC.mkDerivation { name = "Terminal"; src = ./.; imgui = inputs.imgui; nativeBuildInputs = with pkgs; [ clang ]; buildInputs = with pkgs; [ glfw glew ]; buildPhase = '' clang++ \ modules/Terminal/*.cpp \ modules/ImguiModule/*.cpp \ modules/WindowModule/*.cpp \ $imgui/backends/imgui_impl_glfw.cpp \ $imgui/backends/imgui_impl_opengl3.cpp \ $imgui/misc/cpp/*.cpp \ $imgui/*.cpp \ -DRENDERER=1 \ -DWINDOW=1 \ -DTERMINAL_DYNAMIC \ -fpic -shared \ -I include -I $imgui -I . \ -lGL -lglfw -lGLEW \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; Ollama = pkgs.stdenvNoCC.mkDerivation { name = "Ollama"; src = ./.; imgui = inputs.imgui; nativeBuildInputs = with pkgs; [ clang ]; buildInputs = with pkgs; [ glfw glew curl nlohmann_json ]; buildPhase = '' clang++ \ modules/Ollama/*.cpp \ modules/ImguiModule/*.cpp \ modules/WindowModule/*.cpp \ $imgui/backends/imgui_impl_glfw.cpp \ $imgui/backends/imgui_impl_opengl3.cpp \ $imgui/misc/cpp/*.cpp \ $imgui/*.cpp \ -DRENDERER=1 \ -DWINDOW=1 \ -DOLLAMA_DYNAMIC \ -fpic -shared \ -I include -I $imgui -I . \ -lGL -lglfw -lGLEW \ $(curl-config --cflags) \ $(curl-config --libs) \ -Wall \ -o $name ''; installPhase = '' mkdir -p $out/bin cp $name $out/bin ''; }; }