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
+18
View File
@@ -0,0 +1,18 @@
import { getSurfaceName, SURFACES } from './lib/surface.js';
import { DesktopSurface } from './surfaces/DesktopSurface.jsx';
import { LauncherSurface } from './surfaces/LauncherSurface.jsx';
import { PreviewSurface } from './surfaces/PreviewSurface.jsx';
import { TopBarSurface } from './surfaces/TopBarSurface.jsx';
const SURFACE_VIEWS = {
[SURFACES.DESKTOP]: DesktopSurface,
[SURFACES.TOPBAR]: TopBarSurface,
[SURFACES.LAUNCHER]: LauncherSurface,
[SURFACES.PREVIEW]: PreviewSurface,
};
export default function App() {
const surface = getSurfaceName();
const View = SURFACE_VIEWS[surface] ?? PreviewSurface;
return <View />;
}