Repository navigation
Getting Started
⚠️ This wiki is under construction. Pages are being populated incrementally.
Nodens is an experimental C++23 framework for interactive desktop applications. Supported application onboarding starts from the Nodens Application Template.
⚠️ Platform limitation: The published development image currently builds and validates Nodens applications for Linux only. Native Windows and macOS builds are not currently supported or validated. See Building and Toolchain for technical details.
For the quickest start, use the Nodens Application Template. It already contains the published-image devcontainer configuration, a CMake project using FetchContent, and a minimal application entry point.
On GitHub, select Use this template to create a new application repository, then open the new repository in Zed or Visual Studio Code and follow its README. This page covers prerequisites, shared toolchain details, and framework development; it does not recreate the template's application setup.
Install Docker and an editor with Dev Container support, such as:
The tutorial uses this published image:
ghcr.io/eldritchcodex/arch-dev:main
The image contains the C++ toolchain, GLFW, X11 and Wayland support, OpenGL
userspace libraries, Vulkan development tools, and shader tooling. NVIDIA hosts
use the same image with --gpus=all and NVIDIA Container Toolkit.
For NVIDIA host requirements and toolkit installation, see Building and Toolchain.
Intel/AMD hosts do not need NVIDIA Container Toolkit; use the /dev/dri,
video, and render runArgs block instead of the NVIDIA block.
You only need to clone the Nodens repository when you want to modify the framework itself. Nodens uses the shared Linux graphics development image directly, so framework development and application development use the same compiler, desktop, Vulkan, and shader environment. Changes to the shared image are made in the Devcontainers repository and can be tested locally before publishing.
For framework build options, native Linux setup, dependency details, local image builds, and troubleshooting, see Building and Toolchain.
When developing an application and the Nodens framework together, replace FetchContent with a local checkout:
add_subdirectory(path/to/Nodens)
add_executable(myapp main.cpp)
target_link_libraries(myapp PRIVATE Nodens::Nodens)This still builds Nodens from source, but lets the application test local framework changes. An installable CMake package is not currently provided.
- Creating a Custom Layer — Build interactive application behavior.
- Architecture Overview — Understand how the framework is structured.
- Building and Toolchain — Explore compiler, CMake, dependency, and troubleshooting details.
Getting Started
Architecture
Guides
Reference