2dadead39919daeff538ce7cb04096c006275814
Introduce a Linux-only C++20 `nebula-shell` host built with CMake, GTK4, gtk4-layer-shell, and WebKitGTK 6.0. Add a shared `Surface` abstraction and concrete Desktop/TopBar/Launcher surfaces with layer placement, sizing, transparency, and per-surface `?surface=` URL loading. Add `ShellApplication` startup flow that validates `NEBULA_SHELL_DEV_URL`, checks layer-shell support, creates/presents desktop and top bar, and keeps launcher created but hidden for future bridge-driven toggling. Update the native README to document architecture, development setup, dependencies, and current milestone scope.
NebulaOS
A Linux desktop environment built around a custom compositor, shell, and service stack.
Structure
| Path | Purpose |
|---|---|
core/nebula-core |
Core runtime and platform APIs |
compositor/ |
Compositor configuration (Sway) |
shells/ |
Desktop and bigscreen shell implementations |
packages/ |
Shared UI libraries, icons, API, and design tokens |
services/ |
System services (audio, network, bluetooth, power, accounts) |
session/ |
Session manager and desktop entry |
packaging/ |
Distribution packaging (Ubuntu) |
branding/ |
Boot assets, wallpapers, and sounds |
Getting started
Documentation and build instructions will be added as components land.
Languages
C++
46.5%
QML
31.4%
JavaScript
10.6%
CSS
5.2%
CMake
3.7%
Other
2.6%