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.
This commit is contained in:
2026-08-26 15:31:54 +12:00
parent bf5686cebf
commit dd9b43bd27
61 changed files with 3471 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# 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
```powershell
npm install
npm run dev
```
```powershell
npm run lint
npm run build
```
Oxlint is the linter for this project.