Files
Nebula-OS/shells/desktop/ui
andrew dd9b43bd27 Bootstrap NebulaOS repo and desktop shell UI
Initialize the NebulaOS monorepo layout with top-level documentation, ignore rules, placeholder service/package directories, compositor docs plus a baseline Sway config, and session startup/desktop entry files. Add the first desktop shell prototype under `shells/desktop/ui` using React + Vite, including themed surface components (desktop, top bar, launcher, preview), mock Nebula APIs and shell bridge state wiring, reusable UI controls/icons, and supporting styles/config needed for local development.
2026-08-26 15:31:54 +12:00
..

Nebula Desktop UI

React UI for Nebula Desktop shell chrome. It does not host application or game windows. Those render as Wayland / XWayland surfaces. The native host in shells/desktop/native will load this UI in WebKitGTK.

Surfaces

The same codebase can render each Wayland layer on its own:

URL Renders
/?surface=preview (default) Combined browser mockup
/?surface=desktop Background layer only
/?surface=topbar Top bar only
/?surface=launcher Launcher only

The native host chooses the origin. Surface selection is a relative query parameter, not a hardcoded port.

Develop

npm install
npm run dev
npm run lint
npm run build

Oxlint is the linter for this project.