Skip to content

Getting Started

renanbomtempo edited this page Sep 18, 2026 · 5 revisions

⚠️ This wiki is under construction. Pages are being populated incrementally.

Getting Started

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.

Recommended: Start from the Application Template

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.

Prerequisites

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.

Working on the Nodens Framework

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.

Using a Local Nodens Checkout

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.

Next Steps

Clone this wiki locally