Nexus is a local-first hardware monitoring, control, RGB lighting and fan control suite for Windows, macOS, and Linux. A small native service runs on the machine, talks to the hardware, and serves a web dashboard you open in the browser or in an app.
There is no heavy Electron runtime and it uses your OS-native WebView. It uses a minimal amount of CPU and RAM, and it unloads systems that you're not actively using. By default, it will use your integrated GPU to run any rendering, freeing up your dedicated GPU for your gaming or workstation tasks.
This repository is the umbrella: it pulls each component in as a git submodule
and carries the cross-component CI. Each component is developed in its own
repository and documented by its own README.
| Submodule | What it is |
|---|---|
nexus-service |
The local service: hardware monitoring + control, RGB engine, dashboard host. .NET 10, native AOT. |
nexus-web |
The React + TypeScript dashboard, served by the service. |
nexus-overlay |
The desktop / in-game overlay. |
nexus-rgb |
OpenRGB-headless workspace; provides the RGB device backends. |
- git
- .NET 10 SDK (for
nexus-service) - Node.js 22.12+ (for
nexus-web)
# Clone with all components
git clone --recurse-submodules https://github.com/hello-nexus/nexus.git
cd nexus
# (if cloned without submodules)
git submodule update --init --recursive
# Install dashboard dependencies once
cd nexus-web && npm install && cd ..
# Build + run the service (it embeds and serves the dashboard)
cd nexus-service && dotnet runOpen http://localhost:9400 for the dashboard.
For dashboard development with hot reload, keep the service running and start the Vite dev server in a second terminal:
cd nexus-web && npm run dev # http://localhost:5173RGB lighting needs the OpenRGB-headless binaries under
nexus-service/Bundled/<rid>/openrgb/, built from nexus-rgb; everything else
runs without them. Per-component build, publish, and test commands live in each
submodule's README.
nexus/
nexus-service/ Local service (.NET 10 AOT; Windows / macOS / Linux)
nexus-web/ React dashboard, served by the service
nexus-overlay/ Desktop / in-game overlay
nexus-rgb/ OpenRGB-headless workspace (RGB device backends)
.github/ Cross-component CI
brand/ Brand assets
Installer downloads are published as GitHub Releases on this repository. The
in-app updater compares against the latest semver vX.Y.Z tag; prerelease tags
(vX.Y.Z-beta.N) are the beta channel.
A build you make yourself is fully local: devices, lighting, cooling, panels, monitoring, and LAN phone pairing all work exactly as they do in a release.
The hosted services are not part of it. Accounts, profile sync, remote access over our relay, the benchmark leaderboard, anonymous telemetry, and the in-app updater are surfaces we operate and pay for, and they exist only in builds we publish. They are absent from a self-built client rather than broken - nothing prompts for a login that cannot work.
Technically, a release build carries a signed build credential injected by CI;
its presence is what compiles those surfaces in. There is no credential in this
repository, so dotnet publish and npm run build here produce the local-only
client described above. Point NEXUS_API_BASE at your own server if you want
to run the cloud half yourself.
The AGPL covers the code, not the name. "Nexus", the Nexus logo, and the
hellonexus.com domain are not licensed with it: a fork must ship under its
own name and branding, and must not present itself as, or connect to, the
official service.
AGPL-3.0. Each submodule carries its own license; the bundled OpenRGB engine is GPLv2 and runs as a separate child process.
