diff --git a/ExampleApps.nix b/ExampleApps.nix index e34c63d..12229e6 100644 --- a/ExampleApps.nix +++ b/ExampleApps.nix @@ -1,36 +1,5 @@ { inputs, pkgs, ... }: { - MinimalApp = pkgs.stdenvNoCC.mkDerivation { - - name = "Archimedes"; - - src = ./.; - - outputs = [ "out" "dev" ]; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildPhase = '' - clang++ \ - src/example_apps/MinimalApp/MinimalApp.cpp \ - -I include \ - -Wall \ - -o $name - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - - mkdir -p $dev/include/modules - cp -r include/* $dev/include - cp -r modules $dev/include/modules - ''; - - }; - TriangleEmbed = pkgs.stdenvNoCC.mkDerivation { name = "Archimedes"; @@ -75,54 +44,6 @@ }; - ImguiEmbed = pkgs.stdenvNoCC.mkDerivation { - - name = "Archimedes"; - - src = ./.; - - imgui = inputs.imgui; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - glfw - glew - - glm - nlohmann_json - curl - ]; - - buildPhase = '' - clang++ \ - src/example_apps/ImguiEmbed/*.cpp \ - modules/MainGUI/*.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 \ - -I include -I $imgui -I . \ - -lEGL -lGL -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 - ''; - - }; - TerminalEmbed = pkgs.stdenvNoCC.mkDerivation { name = "Archimedes"; diff --git a/dev/overlays.nix b/dev/overlays.nix new file mode 100644 index 0000000..ab692f6 --- /dev/null +++ b/dev/overlays.nix @@ -0,0 +1,6 @@ +{ inputs, ... }: { + + flake.overlays.glfw-old = (final: prev: let + pkgs-old = import inputs.nixpkgs-old { system = prev.stdenv.hostPlatform.system; }; + in { glfw = pkgs-old.glfw; }); +} diff --git a/dev/shells.nix b/dev/shells.nix new file mode 100644 index 0000000..80288b8 --- /dev/null +++ b/dev/shells.nix @@ -0,0 +1,29 @@ +{ ... }: { + + perSystem = { config, system, pkgs, self', inputs', ... }: { + + devShells.default = pkgs.mkShellNoCC { + + packages = with pkgs; [ + clang + + glfw + glew + + sdl3 + + curl + glm + nlohmann_json + stb + + gamenetworkingsockets + + ]; + + shellHook = '' + ''; + + }; + }; +} diff --git a/dev/systems.nix b/dev/systems.nix new file mode 100644 index 0000000..b3f5e4b --- /dev/null +++ b/dev/systems.nix @@ -0,0 +1,6 @@ +{ ... }: { + + systems = [ + "x86_64-linux" + ]; +} diff --git a/flake.lock b/flake.lock index 8e3b330..39926cf 100644 --- a/flake.lock +++ b/flake.lock @@ -16,14 +16,32 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "imgui": { "flake": false, "locked": { - "lastModified": 1769795052, - "narHash": "sha256-JRA4E/aFcEEoB9FYHcLcEs4tgcX41ix2VjMV61PVQeA=", + "lastModified": 1770923283, + "narHash": "sha256-EOhlmnhoJRNjU7o7aCXnRrOw7JM0nq0VWDVnUJ6A6Xo=", "owner": "ocornut", "repo": "imgui", - "rev": "913a3c60561bb07e8fd410ec7d4a8f6f485defd6", + "rev": "3fb22b836ba968c62d280d9de079ec5ed7fcd1b5", "type": "github" }, "original": { @@ -33,13 +51,28 @@ "type": "github" } }, + "import-tree": { + "locked": { + "lastModified": 1771045967, + "narHash": "sha256-oYO4poyw0Sb/db2PigqugMlDwsvwLg6CSpFrMUWxA3Q=", + "owner": "vic", + "repo": "import-tree", + "rev": "c968d3b54d12cf5d9c13f16f7c545a06c9d1fde6", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1770136044, - "narHash": "sha256-tlFqNG/uzz2++aAmn4v8J0vAkV3z7XngeIIB3rM3650=", + "lastModified": 1770770419, + "narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e576e3c9cf9bad747afcddd9e34f51d18c855b4e", + "rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a", "type": "github" }, "original": { @@ -49,6 +82,21 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "72716169fe93074c333e8d0173151350670b824c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-old": { "locked": { "lastModified": 1720535198, @@ -68,7 +116,9 @@ "root": { "inputs": { "clay": "clay", + "flake-parts": "flake-parts", "imgui": "imgui", + "import-tree": "import-tree", "nixpkgs": "nixpkgs", "nixpkgs-old": "nixpkgs-old" } diff --git a/flake.nix b/flake.nix index 850d33c..4127e0f 100644 --- a/flake.nix +++ b/flake.nix @@ -12,286 +12,261 @@ url = "github:nicbarker/clay"; flake = false; }; + + flake-parts.url = "github:hercules-ci/flake-parts"; + + import-tree.url = "github:vic/import-tree"; }; - outputs = { self, nixpkgs, imgui, clay, ... }@inputs: let - system = "x86_64-linux"; - pkgs-old = import inputs.nixpkgs-old { inherit system; }; - viewport-overlay = final: prev: { glfw = pkgs-old.glfw; }; - pkgs = import nixpkgs { inherit system; overlays = [ viewport-overlay ]; }; - in { - - Archimedes = { - examples = import ./ExampleApps.nix { inherit inputs pkgs; }; - }; - - Modules = { - examples = import ./ExampleModules.nix { inherit inputs pkgs; }; - - ServerModule = pkgs.stdenvNoCC.mkDerivation { - - name = "ServerModule"; - + outputs = { self, flake-parts, import-tree, ... } @ inputs: + flake-parts.lib.mkFlake { + inputs = inputs // { src = ./.; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - gamenetworkingsockets - ]; - - buildPhase = '' - clang++ \ - modules/ServerModule/*.cpp \ - -fpic -shared \ - -I include \ - -I ${pkgs.gamenetworkingsockets}/include/GameNetworkingSockets \ - -lGameNetworkingSockets \ - -DSERVERMODULE_DYNAMIC \ - -Wall \ - -o $name - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; - - ClientModule = pkgs.stdenvNoCC.mkDerivation { - - name = "ClientModule"; - - src = ./.; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - gamenetworkingsockets - ]; - - buildPhase = '' - clang++ \ - modules/ClientModule/*.cpp \ - -fpic -shared \ - -I include \ - -I ${pkgs.gamenetworkingsockets}/include/GameNetworkingSockets \ - -lGameNetworkingSockets \ - -DCLIENTMODULE_DYNAMIC \ - -Wall \ - -o $name - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; - - WindowModule = pkgs.stdenvNoCC.mkDerivation { - - name = "WindowModule"; - - src = ./.; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - glfw - glew - ]; - - buildPhase = '' - clang++ \ - modules/WindowModule/*.cpp \ - -fpic -shared \ - -I include \ - -DRENDERER=1 \ - -DWINDOW=1 \ - -DWINDOWMODULE_DYNAMIC \ - -lGL -lglfw -lGLEW \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; - - ImguiModule = pkgs.stdenvNoCC.mkDerivation { - - name = "ImguiModule"; - - src = ./.; - - imgui = inputs.imgui; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - glfw - glew - ]; - - buildPhase = '' - clang++ \ - 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 \ - -DIMGUIMODULE_DYNAMIC \ - -DCUSTOMFONT=${pkgs.fira-code}/share/fonts/truetype/FiraCode-VF.ttf \ - -fpic -shared \ - -I include -I $imgui -I . \ - -lGL -lglfw -lGLEW \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; - - MainGUIsdl = pkgs.stdenvNoCC.mkDerivation { - - name = "MainGUI"; - - src = ./.; - - inherit imgui; - - nativeBuildInputs = with pkgs; [ - clang - ]; - - buildInputs = with pkgs; [ - sdl3 - ]; - - buildPhase = '' - clang++ \ - modules/MainGUI/*.cpp \ - modules/ImguiModule/*.cpp \ - modules/WindowModule/*.cpp \ - $imgui/backends/imgui_impl_sdl3.cpp \ - $imgui/backends/imgui_impl_sdlrenderer3.cpp \ - $imgui/misc/cpp/*.cpp \ - $imgui/*.cpp \ - -DRENDERER=2 \ - -DWINDOW=2 \ - -DMAINGUI_DYNAMIC \ - -fpic -shared \ - -I include -I $imgui -I . \ - -lSDL3 \ - -Wall \ - -o $name - ''; - - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; - - }; + }; + } (import-tree [ ./modules ./src ./dev ]); - MainGUI = pkgs.stdenvNoCC.mkDerivation { +/* + Modules = { + examples = import ./ExampleModules.nix { inherit inputs pkgs; }; - name = "MainGUI"; + ServerModule = pkgs.stdenvNoCC.mkDerivation { - src = ./.; + name = "ServerModule"; - inherit imgui; + src = ./.; - nativeBuildInputs = with pkgs; [ - clang - ]; + nativeBuildInputs = with pkgs; [ + clang + ]; - buildInputs = with pkgs; [ - glfw - glew - ]; + buildInputs = with pkgs; [ + gamenetworkingsockets + ]; - buildPhase = '' - clang++ \ - modules/MainGUI/*.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 \ - -DMAINGUI_DYNAMIC \ - -fpic -shared \ - -I include -I $imgui -I . \ - -lGL -lglfw -lGLEW \ - -Wall \ - -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 - ''; + buildPhase = '' + clang++ \ + modules/ServerModule/*.cpp \ + -fpic -shared \ + -I include \ + -I ${pkgs.gamenetworkingsockets}/include/GameNetworkingSockets \ + -lGameNetworkingSockets \ + -DSERVERMODULE_DYNAMIC \ + -Wall \ + -o $name + ''; - installPhase = '' - mkdir -p $out/bin - cp $name $out/bin - ''; + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; - }; + }; - }; + ClientModule = pkgs.stdenvNoCC.mkDerivation { - packages.${system}.default = self.Archimedes.examples.MinimalApp; + name = "ClientModule"; - apps.${system}.default = { - type = "app"; - program = "${self.Archimedes.examples.MinimalApp}/bin/Archimedes"; - }; + src = ./.; - devShells.${system} = { - default = pkgs.mkShellNoCC { + nativeBuildInputs = with pkgs; [ + clang + ]; - packages = with pkgs; [ - clang + buildInputs = with pkgs; [ + gamenetworkingsockets + ]; - glfw - glew + buildPhase = '' + clang++ \ + modules/ClientModule/*.cpp \ + -fpic -shared \ + -I include \ + -I ${pkgs.gamenetworkingsockets}/include/GameNetworkingSockets \ + -lGameNetworkingSockets \ + -DCLIENTMODULE_DYNAMIC \ + -Wall \ + -o $name + ''; - sdl3 + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; - curl - glm - nlohmann_json - stb + }; - gamenetworkingsockets + WindowModule = pkgs.stdenvNoCC.mkDerivation { - ]; + name = "WindowModule"; - shellHook = '' - ''; + src = ./.; - }; - }; + nativeBuildInputs = with pkgs; [ + clang + ]; - }; + buildInputs = with pkgs; [ + glfw + glew + ]; + + buildPhase = '' + clang++ \ + modules/WindowModule/*.cpp \ + -fpic -shared \ + -I include \ + -DRENDERER=1 \ + -DWINDOW=1 \ + -DWINDOWMODULE_DYNAMIC \ + -lGL -lglfw -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + + ImguiModule = pkgs.stdenvNoCC.mkDerivation { + + name = "ImguiModule"; + + src = ./.; + + imgui = inputs.imgui; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + glfw + glew + ]; + + buildPhase = '' + clang++ \ + 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 \ + -DIMGUIMODULE_DYNAMIC \ + -DCUSTOMFONT=${pkgs.fira-code}/share/fonts/truetype/FiraCode-VF.ttf \ + -fpic -shared \ + -I include -I $imgui -I . \ + -lGL -lglfw -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + + MainGUIsdl = pkgs.stdenvNoCC.mkDerivation { + + name = "MainGUI"; + + src = ./.; + + inherit imgui; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + sdl3 + ]; + + buildPhase = '' + clang++ \ + modules/MainGUI/*.cpp \ + modules/ImguiModule/*.cpp \ + modules/WindowModule/*.cpp \ + $imgui/backends/imgui_impl_sdl3.cpp \ + $imgui/backends/imgui_impl_sdlrenderer3.cpp \ + $imgui/misc/cpp/*.cpp \ + $imgui/*.cpp \ + -DRENDERER=2 \ + -DWINDOW=2 \ + -DMAINGUI_DYNAMIC \ + -fpic -shared \ + -I include -I $imgui -I . \ + -lSDL3 \ + -Wall \ + -o $name + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + + + MainGUI = pkgs.stdenvNoCC.mkDerivation { + + name = "MainGUI"; + + src = ./.; + + inherit imgui; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + glfw + glew + ]; + + buildPhase = '' + clang++ \ + modules/MainGUI/*.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 \ + -DMAINGUI_DYNAMIC \ + -fpic -shared \ + -I include -I $imgui -I . \ + -lGL -lglfw -lGLEW \ + -Wall \ + -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + ''; + + }; + + }; + + packages.${system}.default = self.Archimedes.examples.MinimalApp; + + apps.${system}.default = { + type = "app"; + program = "${self.Archimedes.examples.MinimalApp}/bin/Archimedes"; + }; +*/ } diff --git a/src/example_apps/ImguiEmbed/default.nix b/src/example_apps/ImguiEmbed/default.nix new file mode 100644 index 0000000..58aab6b --- /dev/null +++ b/src/example_apps/ImguiEmbed/default.nix @@ -0,0 +1,53 @@ +{ inputs, ... }: { + + perSystem = { system, pkgs, self', ... }: { + packages.exampleApps_ImguiEmbed = pkgs.stdenvNoCC.mkDerivation { + + name = "Archimedes"; + + src = inputs.src; + + imgui = inputs.imgui; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildInputs = with pkgs; [ + glfw + glew + + glm + nlohmann_json + curl + ]; + + buildPhase = '' + clang++ \ + $src/src/example_apps/ImguiEmbed/*.cpp \ + $src/modules/MainGUI/*.cpp \ + $src/modules/WindowModule/*.cpp \ + $src/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 \ + -I $src/include -I $imgui -I $src \ + -lEGL -lGL -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/example_apps/MinimalApp/default.nix b/src/example_apps/MinimalApp/default.nix new file mode 100644 index 0000000..a0e5386 --- /dev/null +++ b/src/example_apps/MinimalApp/default.nix @@ -0,0 +1,38 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.exampleApps_MinimalApp = pkgs.stdenvNoCC.mkDerivation { + + name = "Archimedes"; + + src = inputs.src; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildPhase = '' + clang++ \ + $src/src/example_apps/MinimalApp/MinimalApp.cpp \ + -I $src/include \ + -Wall \ + -o $name + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + + mkdir -p $dev/include/modules + cp -r include/* $dev/include + cp -r modules $dev/include/modules + ''; + + }; + }; + + +} diff --git a/src/example_apps/TerminalEmbed/default.nix b/src/example_apps/TerminalEmbed/default.nix new file mode 100644 index 0000000..a0e5386 --- /dev/null +++ b/src/example_apps/TerminalEmbed/default.nix @@ -0,0 +1,38 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.exampleApps_MinimalApp = pkgs.stdenvNoCC.mkDerivation { + + name = "Archimedes"; + + src = inputs.src; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildPhase = '' + clang++ \ + $src/src/example_apps/MinimalApp/MinimalApp.cpp \ + -I $src/include \ + -Wall \ + -o $name + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + + mkdir -p $dev/include/modules + cp -r include/* $dev/include + cp -r modules $dev/include/modules + ''; + + }; + }; + + +} diff --git a/src/example_apps/TriangleEmbed/default.nix b/src/example_apps/TriangleEmbed/default.nix new file mode 100644 index 0000000..a0e5386 --- /dev/null +++ b/src/example_apps/TriangleEmbed/default.nix @@ -0,0 +1,38 @@ +{ inputs, ... }: { + + + perSystem = { system, pkgs, self', ... }: { + packages.exampleApps_MinimalApp = pkgs.stdenvNoCC.mkDerivation { + + name = "Archimedes"; + + src = inputs.src; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = with pkgs; [ + clang + ]; + + buildPhase = '' + clang++ \ + $src/src/example_apps/MinimalApp/MinimalApp.cpp \ + -I $src/include \ + -Wall \ + -o $name + ''; + + installPhase = '' + mkdir -p $out/bin + cp $name $out/bin + + mkdir -p $dev/include/modules + cp -r include/* $dev/include + cp -r modules $dev/include/modules + ''; + + }; + }; + + +} diff --git a/include/Archimedes.h b/src/include/Archimedes.h similarity index 100% rename from include/Archimedes.h rename to src/include/Archimedes.h diff --git a/include/endApp.h b/src/include/endApp.h similarity index 100% rename from include/endApp.h rename to src/include/endApp.h diff --git a/include/endModule.h b/src/include/endModule.h similarity index 100% rename from include/endModule.h rename to src/include/endModule.h diff --git a/include/entryPoint.h b/src/include/entryPoint.h similarity index 100% rename from include/entryPoint.h rename to src/include/entryPoint.h diff --git a/include/extratools.h b/src/include/extratools.h similarity index 100% rename from include/extratools.h rename to src/include/extratools.h diff --git a/include/pch.hpp b/src/include/pch.hpp similarity index 100% rename from include/pch.hpp rename to src/include/pch.hpp diff --git a/include/utils/App/App.h b/src/include/utils/App/App.h similarity index 100% rename from include/utils/App/App.h rename to src/include/utils/App/App.h diff --git a/include/utils/Audio/Audio.h b/src/include/utils/Audio/Audio.h similarity index 100% rename from include/utils/Audio/Audio.h rename to src/include/utils/Audio/Audio.h diff --git a/include/utils/Audio/AudioImpl/AudioSDL3/AudioSDL3.h b/src/include/utils/Audio/AudioImpl/AudioSDL3/AudioSDL3.h similarity index 100% rename from include/utils/Audio/AudioImpl/AudioSDL3/AudioSDL3.h rename to src/include/utils/Audio/AudioImpl/AudioSDL3/AudioSDL3.h diff --git a/include/utils/Events/BasicEvents.h b/src/include/utils/Events/BasicEvents.h similarity index 100% rename from include/utils/Events/BasicEvents.h rename to src/include/utils/Events/BasicEvents.h diff --git a/include/utils/Events/Event.h b/src/include/utils/Events/Event.h similarity index 100% rename from include/utils/Events/Event.h rename to src/include/utils/Events/Event.h diff --git a/include/utils/Events/NetworkEvents.h b/src/include/utils/Events/NetworkEvents.h similarity index 100% rename from include/utils/Events/NetworkEvents.h rename to src/include/utils/Events/NetworkEvents.h diff --git a/include/utils/Module/Module.h b/src/include/utils/Module/Module.h similarity index 100% rename from include/utils/Module/Module.h rename to src/include/utils/Module/Module.h diff --git a/include/utils/Objects/Object.h b/src/include/utils/Objects/Object.h similarity index 100% rename from include/utils/Objects/Object.h rename to src/include/utils/Objects/Object.h diff --git a/include/utils/Renderer/RenderTarget.h b/src/include/utils/Renderer/RenderTarget.h similarity index 100% rename from include/utils/Renderer/RenderTarget.h rename to src/include/utils/Renderer/RenderTarget.h diff --git a/include/utils/Renderer/Renderer.h b/src/include/utils/Renderer/Renderer.h similarity index 100% rename from include/utils/Renderer/Renderer.h rename to src/include/utils/Renderer/Renderer.h diff --git a/include/utils/Renderer/RendererImpl/RendererOpenGL/RendererOpenGL.h b/src/include/utils/Renderer/RendererImpl/RendererOpenGL/RendererOpenGL.h similarity index 100% rename from include/utils/Renderer/RendererImpl/RendererOpenGL/RendererOpenGL.h rename to src/include/utils/Renderer/RendererImpl/RendererOpenGL/RendererOpenGL.h diff --git a/include/utils/Renderer/RendererImpl/RendererSDL3/RendererSDL3.h b/src/include/utils/Renderer/RendererImpl/RendererSDL3/RendererSDL3.h similarity index 100% rename from include/utils/Renderer/RendererImpl/RendererSDL3/RendererSDL3.h rename to src/include/utils/Renderer/RendererImpl/RendererSDL3/RendererSDL3.h diff --git a/include/utils/Renderer/concepts.h b/src/include/utils/Renderer/concepts.h similarity index 100% rename from include/utils/Renderer/concepts.h rename to src/include/utils/Renderer/concepts.h diff --git a/include/utils/Window/Window.h b/src/include/utils/Window/Window.h similarity index 100% rename from include/utils/Window/Window.h rename to src/include/utils/Window/Window.h diff --git a/include/utils/Window/WindowEvents.h b/src/include/utils/Window/WindowEvents.h similarity index 100% rename from include/utils/Window/WindowEvents.h rename to src/include/utils/Window/WindowEvents.h diff --git a/include/utils/Window/WindowImpl/WindowGLFW/WindowGLFW.h b/src/include/utils/Window/WindowImpl/WindowGLFW/WindowGLFW.h similarity index 100% rename from include/utils/Window/WindowImpl/WindowGLFW/WindowGLFW.h rename to src/include/utils/Window/WindowImpl/WindowGLFW/WindowGLFW.h diff --git a/include/utils/Window/WindowImpl/WindowSDL3/WindowSDL3.h b/src/include/utils/Window/WindowImpl/WindowSDL3/WindowSDL3.h similarity index 100% rename from include/utils/Window/WindowImpl/WindowSDL3/WindowSDL3.h rename to src/include/utils/Window/WindowImpl/WindowSDL3/WindowSDL3.h diff --git a/include/utils/Window/concepts.h b/src/include/utils/Window/concepts.h similarity index 100% rename from include/utils/Window/concepts.h rename to src/include/utils/Window/concepts.h diff --git a/modules/Archimedes-Modules/Calculator/Calculator.cpp b/src/modules/Archimedes-Modules/Calculator/Calculator.cpp similarity index 100% rename from modules/Archimedes-Modules/Calculator/Calculator.cpp rename to src/modules/Archimedes-Modules/Calculator/Calculator.cpp diff --git a/modules/Archimedes-Modules/Calculator/Calculator.h b/src/modules/Archimedes-Modules/Calculator/Calculator.h similarity index 100% rename from modules/Archimedes-Modules/Calculator/Calculator.h rename to src/modules/Archimedes-Modules/Calculator/Calculator.h diff --git a/modules/Archimedes-Modules/Chat/ChatClient/ChatClient.cpp b/src/modules/Archimedes-Modules/Chat/ChatClient/ChatClient.cpp similarity index 100% rename from modules/Archimedes-Modules/Chat/ChatClient/ChatClient.cpp rename to src/modules/Archimedes-Modules/Chat/ChatClient/ChatClient.cpp diff --git a/modules/Archimedes-Modules/Chat/ChatClient/ChatClient.h b/src/modules/Archimedes-Modules/Chat/ChatClient/ChatClient.h similarity index 100% rename from modules/Archimedes-Modules/Chat/ChatClient/ChatClient.h rename to src/modules/Archimedes-Modules/Chat/ChatClient/ChatClient.h diff --git a/modules/Archimedes-Modules/Chat/ChatServer/ChatServer.cpp b/src/modules/Archimedes-Modules/Chat/ChatServer/ChatServer.cpp similarity index 100% rename from modules/Archimedes-Modules/Chat/ChatServer/ChatServer.cpp rename to src/modules/Archimedes-Modules/Chat/ChatServer/ChatServer.cpp diff --git a/modules/Archimedes-Modules/Chat/ChatServer/ChatServer.h b/src/modules/Archimedes-Modules/Chat/ChatServer/ChatServer.h similarity index 100% rename from modules/Archimedes-Modules/Chat/ChatServer/ChatServer.h rename to src/modules/Archimedes-Modules/Chat/ChatServer/ChatServer.h diff --git a/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/ChatClientVoice.cpp b/src/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/ChatClientVoice.cpp similarity index 100% rename from modules/Archimedes-Modules/ChatVoice/ChatClientVoice/ChatClientVoice.cpp rename to src/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/ChatClientVoice.cpp diff --git a/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/ChatClientVoice.h b/src/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/ChatClientVoice.h similarity index 100% rename from modules/Archimedes-Modules/ChatVoice/ChatClientVoice/ChatClientVoice.h rename to src/modules/Archimedes-Modules/ChatVoice/ChatClientVoice/ChatClientVoice.h diff --git a/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/ChatServerVoice.cpp b/src/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/ChatServerVoice.cpp similarity index 100% rename from modules/Archimedes-Modules/ChatVoice/ChatServerVoice/ChatServerVoice.cpp rename to src/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/ChatServerVoice.cpp diff --git a/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/ChatServerVoice.h b/src/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/ChatServerVoice.h similarity index 100% rename from modules/Archimedes-Modules/ChatVoice/ChatServerVoice/ChatServerVoice.h rename to src/modules/Archimedes-Modules/ChatVoice/ChatServerVoice/ChatServerVoice.h diff --git a/modules/Archimedes-Modules/Chess/ChessClient/ChessClient.cpp b/src/modules/Archimedes-Modules/Chess/ChessClient/ChessClient.cpp similarity index 100% rename from modules/Archimedes-Modules/Chess/ChessClient/ChessClient.cpp rename to src/modules/Archimedes-Modules/Chess/ChessClient/ChessClient.cpp diff --git a/modules/Archimedes-Modules/Chess/ChessClient/ChessClient.h b/src/modules/Archimedes-Modules/Chess/ChessClient/ChessClient.h similarity index 100% rename from modules/Archimedes-Modules/Chess/ChessClient/ChessClient.h rename to src/modules/Archimedes-Modules/Chess/ChessClient/ChessClient.h diff --git a/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.cpp b/src/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.cpp similarity index 100% rename from modules/Archimedes-Modules/Chess/ChessServer/ChessServer.cpp rename to src/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.cpp diff --git a/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.h b/src/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.h similarity index 100% rename from modules/Archimedes-Modules/Chess/ChessServer/ChessServer.h rename to src/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.h diff --git a/modules/Archimedes-Modules/Example_Modules.md b/src/modules/Archimedes-Modules/Example_Modules.md similarity index 100% rename from modules/Archimedes-Modules/Example_Modules.md rename to src/modules/Archimedes-Modules/Example_Modules.md diff --git a/modules/Archimedes-Modules/Ollama/Ollama.cpp b/src/modules/Archimedes-Modules/Ollama/Ollama.cpp similarity index 100% rename from modules/Archimedes-Modules/Ollama/Ollama.cpp rename to src/modules/Archimedes-Modules/Ollama/Ollama.cpp diff --git a/modules/Archimedes-Modules/Ollama/Ollama.h b/src/modules/Archimedes-Modules/Ollama/Ollama.h similarity index 100% rename from modules/Archimedes-Modules/Ollama/Ollama.h rename to src/modules/Archimedes-Modules/Ollama/Ollama.h diff --git a/modules/Archimedes-Modules/Print/Print.cpp b/src/modules/Archimedes-Modules/Print/Print.cpp similarity index 100% rename from modules/Archimedes-Modules/Print/Print.cpp rename to src/modules/Archimedes-Modules/Print/Print.cpp diff --git a/modules/Archimedes-Modules/Print/Print.h b/src/modules/Archimedes-Modules/Print/Print.h similarity index 100% rename from modules/Archimedes-Modules/Print/Print.h rename to src/modules/Archimedes-Modules/Print/Print.h diff --git a/modules/Archimedes-Modules/Sandbox/Sandbox.cpp b/src/modules/Archimedes-Modules/Sandbox/Sandbox.cpp similarity index 100% rename from modules/Archimedes-Modules/Sandbox/Sandbox.cpp rename to src/modules/Archimedes-Modules/Sandbox/Sandbox.cpp diff --git a/modules/Archimedes-Modules/Sandbox/Sandbox.h b/src/modules/Archimedes-Modules/Sandbox/Sandbox.h similarity index 100% rename from modules/Archimedes-Modules/Sandbox/Sandbox.h rename to src/modules/Archimedes-Modules/Sandbox/Sandbox.h diff --git a/modules/Archimedes-Modules/Terminal/Terminal.cpp b/src/modules/Archimedes-Modules/Terminal/Terminal.cpp similarity index 100% rename from modules/Archimedes-Modules/Terminal/Terminal.cpp rename to src/modules/Archimedes-Modules/Terminal/Terminal.cpp diff --git a/modules/Archimedes-Modules/Terminal/Terminal.h b/src/modules/Archimedes-Modules/Terminal/Terminal.h similarity index 100% rename from modules/Archimedes-Modules/Terminal/Terminal.h rename to src/modules/Archimedes-Modules/Terminal/Terminal.h diff --git a/modules/Archimedes-Modules/TestClay/TestClay.cpp b/src/modules/Archimedes-Modules/TestClay/TestClay.cpp similarity index 100% rename from modules/Archimedes-Modules/TestClay/TestClay.cpp rename to src/modules/Archimedes-Modules/TestClay/TestClay.cpp diff --git a/modules/Archimedes-Modules/TestClay/TestClay.h b/src/modules/Archimedes-Modules/TestClay/TestClay.h similarity index 100% rename from modules/Archimedes-Modules/TestClay/TestClay.h rename to src/modules/Archimedes-Modules/TestClay/TestClay.h diff --git a/modules/Archimedes-Modules/TestImgui/TestImgui.cpp b/src/modules/Archimedes-Modules/TestImgui/TestImgui.cpp similarity index 100% rename from modules/Archimedes-Modules/TestImgui/TestImgui.cpp rename to src/modules/Archimedes-Modules/TestImgui/TestImgui.cpp diff --git a/modules/Archimedes-Modules/TestImgui/TestImgui.h b/src/modules/Archimedes-Modules/TestImgui/TestImgui.h similarity index 100% rename from modules/Archimedes-Modules/TestImgui/TestImgui.h rename to src/modules/Archimedes-Modules/TestImgui/TestImgui.h diff --git a/modules/Archimedes-Modules/TestNotCurses/TestNotCurses.cpp b/src/modules/Archimedes-Modules/TestNotCurses/TestNotCurses.cpp similarity index 100% rename from modules/Archimedes-Modules/TestNotCurses/TestNotCurses.cpp rename to src/modules/Archimedes-Modules/TestNotCurses/TestNotCurses.cpp diff --git a/modules/Archimedes-Modules/TestNotCurses/TestNotCurses.h b/src/modules/Archimedes-Modules/TestNotCurses/TestNotCurses.h similarity index 100% rename from modules/Archimedes-Modules/TestNotCurses/TestNotCurses.h rename to src/modules/Archimedes-Modules/TestNotCurses/TestNotCurses.h diff --git a/modules/Archimedes-Modules/TestTriangle/TestTriangle.cpp b/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.cpp similarity index 100% rename from modules/Archimedes-Modules/TestTriangle/TestTriangle.cpp rename to src/modules/Archimedes-Modules/TestTriangle/TestTriangle.cpp diff --git a/modules/Archimedes-Modules/TestTriangle/TestTriangle.h b/src/modules/Archimedes-Modules/TestTriangle/TestTriangle.h similarity index 100% rename from modules/Archimedes-Modules/TestTriangle/TestTriangle.h rename to src/modules/Archimedes-Modules/TestTriangle/TestTriangle.h diff --git a/modules/ClientModule/ClientModule.cpp b/src/modules/ClientModule/ClientModule.cpp similarity index 100% rename from modules/ClientModule/ClientModule.cpp rename to src/modules/ClientModule/ClientModule.cpp diff --git a/modules/ClientModule/ClientModule.h b/src/modules/ClientModule/ClientModule.h similarity index 100% rename from modules/ClientModule/ClientModule.h rename to src/modules/ClientModule/ClientModule.h diff --git a/modules/ImguiModule/ImguiModule.cpp b/src/modules/ImguiModule/ImguiModule.cpp similarity index 100% rename from modules/ImguiModule/ImguiModule.cpp rename to src/modules/ImguiModule/ImguiModule.cpp diff --git a/modules/ImguiModule/ImguiModule.h b/src/modules/ImguiModule/ImguiModule.h similarity index 100% rename from modules/ImguiModule/ImguiModule.h rename to src/modules/ImguiModule/ImguiModule.h diff --git a/modules/MainGUI/MainGUI.cpp b/src/modules/MainGUI/MainGUI.cpp similarity index 100% rename from modules/MainGUI/MainGUI.cpp rename to src/modules/MainGUI/MainGUI.cpp diff --git a/modules/MainGUI/MainGUI.h b/src/modules/MainGUI/MainGUI.h similarity index 100% rename from modules/MainGUI/MainGUI.h rename to src/modules/MainGUI/MainGUI.h diff --git a/modules/ServerModule/ServerModule.cpp b/src/modules/ServerModule/ServerModule.cpp similarity index 100% rename from modules/ServerModule/ServerModule.cpp rename to src/modules/ServerModule/ServerModule.cpp diff --git a/modules/ServerModule/ServerModule.h b/src/modules/ServerModule/ServerModule.h similarity index 100% rename from modules/ServerModule/ServerModule.h rename to src/modules/ServerModule/ServerModule.h diff --git a/modules/WindowModule/WindowModule.cpp b/src/modules/WindowModule/WindowModule.cpp similarity index 100% rename from modules/WindowModule/WindowModule.cpp rename to src/modules/WindowModule/WindowModule.cpp diff --git a/modules/WindowModule/WindowModule.h b/src/modules/WindowModule/WindowModule.h similarity index 100% rename from modules/WindowModule/WindowModule.h rename to src/modules/WindowModule/WindowModule.h