diff --git a/.gitignore b/.gitignore index a7ab073..3fc1b6b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ vendor/ .ccls-cache/ +imgui.ini +result* diff --git a/ExampleModules.nix b/ExampleModules.nix deleted file mode 100644 index 4337f88..0000000 --- a/ExampleModules.nix +++ /dev/null @@ -1,638 +0,0 @@ -{ 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 - ''; - - }; - - TestTrianglesdl = pkgs.stdenvNoCC.mkDerivation { - - name = "TestTriangle"; - - src = ./.; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - sdl3 - glew - ]; - - buildPhase = '' - clang++ \ - modules/Archimedes-Modules/TestTriangle/*.cpp \ - modules/WindowModule/*.cpp \ - -DRENDERER=1 \ - -DWINDOW=2 \ - -DTESTTRIANGLE_DYNAMIC \ - -fpic -shared \ - -I include -I . \ - -lEGL -lSDL3 -lGLEW \ - -Wall \ - -o $name - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; - TestTriangle = pkgs.stdenvNoCC.mkDerivation { - - name = "TestTriangle"; - - src = ./.; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - glfw - glew - glm - nlohmann_json - curl - ]; - - buildPhase = '' - clang++ \ - modules/Archimedes-Modules/TestTriangle/*.cpp \ - modules/WindowModule/*.cpp \ - -DRENDERER_OPENGL=1 \ - -DWINDOW_GLFW=1 \ - -DTESTTRIANGLE_DYNAMIC \ - -fpic -shared \ - -I include -I . \ - -lEGL -lglfw -lGLEW \ - $(curl-config --cflags) \ - $(curl-config --libs) \ - -Wall \ - -o $name - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; - - Sandbox = pkgs.stdenvNoCC.mkDerivation { - - name = "Sandbox"; - - src = ./.; - - imgui = inputs.imgui; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - glfw - glew - - glm - curl - nlohmann_json - ]; - - buildPhase = '' - clang++ \ - modules/Archimedes-Modules/Sandbox/*.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=1 \ - -DWINDOW_GLFW=1 \ - -DSANDBOX_DYNAMIC \ - -fpic -shared \ - -I include -I $imgui -I . \ - -lEGL -lglfw -lGLEW \ - $(curl-config --cflags) \ - $(curl-config --libs) \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - 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=1 \ - -DWINDOW=1 \ - -DTESTIMGUI_DYNAMIC \ - -fpic -shared \ - -I include -I $imgui -I . \ - -lEGL -lglfw -lGLEW \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; - - Calculator = pkgs.stdenvNoCC.mkDerivation { - - name = "Calculator"; - - src = ./.; - - imgui = inputs.imgui; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - glfw - glew - ]; - - buildPhase = '' - clang++ \ - modules/Archimedes-Modules/Calculator/*.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=1 \ - -DWINDOW=1 \ - -DCALCULATOR_DYNAMIC \ - -fpic -shared \ - -I include -I $imgui -I . \ - -lEGL -lglfw -lGLEW \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - 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=1 \ - -DWINDOW=1 \ - -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=1 \ - -DWINDOW=1 \ - -fpic -shared \ - -I include -I $imgui -I . \ - -lEGL -lglfw -lGLEW \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - 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 . \ - -lEGL -lSDL3 -lGLEW \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - 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/Archimedes-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 . \ - -lEGL -lglfw -lGLEW \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - 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/Archimedes-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 . \ - -lEGL -lglfw -lGLEW \ - $(curl-config --cflags) \ - $(curl-config --libs) \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; - -} diff --git a/src/modules/Archimedes-Modules/Calculator/default.nix b/src/modules/Archimedes-Modules/Calculator/default.nix new file mode 100644 index 0000000..458c536 --- /dev/null +++ b/src/modules/Archimedes-Modules/Calculator/default.nix @@ -0,0 +1,50 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.Calculator = pkgs.stdenvNoCC.mkDerivation { + + name = "Calculator"; + + src = inputs.src; + + imgui = inputs.imgui; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + glfw + glew + ]; + + buildPhase = '' + clang++ \ + modules/Archimedes-Modules/Calculator/*.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=1 \ + -DWINDOW=1 \ + -DCALCULATOR_DYNAMIC \ + -fpic -shared \ + -I include -I $imgui -I . \ + -lEGL -lglfw -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/Chat/ChatClient/default.nix b/src/modules/Archimedes-Modules/Chat/ChatClient/default.nix new file mode 100644 index 0000000..f5d4f6f --- /dev/null +++ b/src/modules/Archimedes-Modules/Chat/ChatClient/default.nix @@ -0,0 +1,54 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.ChatClient = pkgs.stdenvNoCC.mkDerivation { + + name = "ChatClient"; + + src = inputs.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=1 \ + -DWINDOW=1 \ + -fpic -shared \ + -I include -I $imgui -I . \ + -lEGL -lglfw -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/Chat/ChatServer/default.nix b/src/modules/Archimedes-Modules/Chat/ChatServer/default.nix new file mode 100644 index 0000000..2a1a712 --- /dev/null +++ b/src/modules/Archimedes-Modules/Chat/ChatServer/default.nix @@ -0,0 +1,41 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.ChatServer = pkgs.stdenvNoCC.mkDerivation { + + name = "ChatServer"; + + src = inputs.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 + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/default.nix b/src/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/default.nix new file mode 100644 index 0000000..75e48c1 --- /dev/null +++ b/src/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/default.nix @@ -0,0 +1,54 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.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 . \ + -lEGL -lSDL3 -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/default.nix b/src/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/default.nix new file mode 100644 index 0000000..3345f78 --- /dev/null +++ b/src/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/default.nix @@ -0,0 +1,41 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.ChatServerVoice = pkgs.stdenvNoCC.mkDerivation { + + name = "ChatServerVoice"; + + src = inputs.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 + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/Chess/ChessClient/default.nix b/src/modules/Archimedes-Modules/Chess/ChessClient/default.nix new file mode 100644 index 0000000..f9ef278 --- /dev/null +++ b/src/modules/Archimedes-Modules/Chess/ChessClient/default.nix @@ -0,0 +1,54 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.ChessClient = pkgs.stdenvNoCC.mkDerivation { + + name = "ChatClient"; + + src = inputs.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=1 \ + -DWINDOW=1 \ + -fpic -shared \ + -I include -I $imgui -I . \ + -lEGL -lglfw -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/Chess/ChessServer/default.nix b/src/modules/Archimedes-Modules/Chess/ChessServer/default.nix new file mode 100644 index 0000000..f718b29 --- /dev/null +++ b/src/modules/Archimedes-Modules/Chess/ChessServer/default.nix @@ -0,0 +1,41 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.ChessServer = pkgs.stdenvNoCC.mkDerivation { + + name = "ChatServer"; + + src = inputs.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 + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/Ollama/default.nix b/src/modules/Archimedes-Modules/Ollama/default.nix new file mode 100644 index 0000000..193d8c3 --- /dev/null +++ b/src/modules/Archimedes-Modules/Ollama/default.nix @@ -0,0 +1,55 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.Ollama = pkgs.stdenvNoCC.mkDerivation { + + name = "Ollama"; + + src = inputs.src; + + imgui = inputs.imgui; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + glfw + glew + + curl + nlohmann_json + ]; + + buildPhase = '' + clang++ \ + modules/Archimedes-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 . \ + -lEGL -lglfw -lGLEW \ + $(curl-config --cflags) \ + $(curl-config --libs) \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/Print/default.nix b/src/modules/Archimedes-Modules/Print/default.nix new file mode 100644 index 0000000..6152b9d --- /dev/null +++ b/src/modules/Archimedes-Modules/Print/default.nix @@ -0,0 +1,34 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.Print = pkgs.stdenvNoCC.mkDerivation { + + name = "Print"; + + src = inputs.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 + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/Sandbox/default.nix b/src/modules/Archimedes-Modules/Sandbox/default.nix new file mode 100644 index 0000000..63e0f2a --- /dev/null +++ b/src/modules/Archimedes-Modules/Sandbox/default.nix @@ -0,0 +1,56 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.Sandbox = pkgs.stdenvNoCC.mkDerivation { + + name = "Sandbox"; + + src = inputs.src; + + imgui = inputs.imgui; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + glfw + glew + + glm + curl + nlohmann_json + ]; + + buildPhase = '' + clang++ \ + modules/Archimedes-Modules/Sandbox/*.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=1 \ + -DWINDOW_GLFW=1 \ + -DSANDBOX_DYNAMIC \ + -fpic -shared \ + -I include -I $imgui -I . \ + -lEGL -lglfw -lGLEW \ + $(curl-config --cflags) \ + $(curl-config --libs) \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/Terminal/default.nix b/src/modules/Archimedes-Modules/Terminal/default.nix new file mode 100644 index 0000000..da4f042 --- /dev/null +++ b/src/modules/Archimedes-Modules/Terminal/default.nix @@ -0,0 +1,50 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.Terminal = pkgs.stdenvNoCC.mkDerivation { + + name = "Terminal"; + + src = inputs.src; + + imgui = inputs.imgui; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + glfw + glew + ]; + + buildPhase = '' + clang++ \ + modules/Archimedes-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 . \ + -lEGL -lglfw -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/TestClay/default.nix b/src/modules/Archimedes-Modules/TestClay/default.nix new file mode 100644 index 0000000..692389e --- /dev/null +++ b/src/modules/Archimedes-Modules/TestClay/default.nix @@ -0,0 +1,38 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.TestClay = pkgs.stdenvNoCC.mkDerivation { + + name = "TestClay"; + + src = inputs.src; + + clay = inputs.clay; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildPhase = '' + clang++ \ + modules/Archimedes-Modules/TestClay/*.cpp \ + -fpic -shared \ + -I include \ + -DRENDERER=1 \ + -DWINDOW=1 \ + -DTESTCLAY_DYNAMIC \ + -Wall \ + -o $name + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/TestImgui/default.nix b/src/modules/Archimedes-Modules/TestImgui/default.nix new file mode 100644 index 0000000..87aa0f6 --- /dev/null +++ b/src/modules/Archimedes-Modules/TestImgui/default.nix @@ -0,0 +1,50 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.TestImgui = pkgs.stdenvNoCC.mkDerivation { + + name = "TestImgui"; + + src = inputs.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=1 \ + -DWINDOW=1 \ + -DTESTIMGUI_DYNAMIC \ + -fpic -shared \ + -I include -I $imgui -I . \ + -lEGL -lglfw -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/TestNotCurses/default.nix b/src/modules/Archimedes-Modules/TestNotCurses/default.nix new file mode 100644 index 0000000..c0daff4 --- /dev/null +++ b/src/modules/Archimedes-Modules/TestNotCurses/default.nix @@ -0,0 +1,39 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.TestNotCurses = pkgs.stdenvNoCC.mkDerivation { + + name = "TestNotCurses"; + + src = inputs.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 + ''; + + }; + }; + + +} diff --git a/src/modules/Archimedes-Modules/TestTriangle/default.nix b/src/modules/Archimedes-Modules/TestTriangle/default.nix new file mode 100644 index 0000000..bc7f035 --- /dev/null +++ b/src/modules/Archimedes-Modules/TestTriangle/default.nix @@ -0,0 +1,48 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.TestTriangle = pkgs.stdenvNoCC.mkDerivation { + + name = "TestTriangle"; + + src = inputs.src; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + glfw + glew + glm + nlohmann_json + curl + ]; + + buildPhase = '' + clang++ \ + modules/Archimedes-Modules/TestTriangle/*.cpp \ + modules/WindowModule/*.cpp \ + -DRENDERER_OPENGL=1 \ + -DWINDOW_GLFW=1 \ + -DTESTTRIANGLE_DYNAMIC \ + -fpic -shared \ + -I include -I . \ + -lEGL -lglfw -lGLEW \ + $(curl-config --cflags) \ + $(curl-config --libs) \ + -Wall \ + -o $name + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + }; + + +}