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:
@@ -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.
|
||||
Reference in New Issue
Block a user