Domicile compositor lets developers build Wayland desktops with HTML, CSS, and TypeScript
Domicile embeds a modified Chromium engine into a Wayland compositor to render native windows as DOM elements manipulable through standard web technologies.
Summary
Domicile is a new open-source Wayland compositor that enables Linux desktop customization through web technologies rather than traditional compositor configuration languages. The project modifies Chromium to represent native Wayland windows as DOM elements, allowing developers to apply CSS styling, transformations, and animations to window management. On the compositor backend, Domicile reuses the Rust-based tiling window management logic from Maganese, which itself draws inspiration from Sway. The project targets web developers seeking to apply familiar HTML, CSS, and JavaScript/TypeScript skills to Linux desktop environment creation.
The project was developed with assistance from Claude Code, Anthropic's AI coding assistant. Domicile enters a compositor landscape that includes established options like Sway, Hyprland, and River, distinguishing itself through its web-technology abstraction layer rather than configuration through domain-specific languages or direct Wayland protocol manipulation.
Architecture and rendering pipeline
- Chromium integration: Domicile embeds a modified Chromium engine as its rendering foundation, repurposing the browser's layout and compositing pipeline for desktop window management rather than traditional web page display.
- Wayland-to-DOM mapping: Native Wayland windows are represented as DOM elements within the Chromium instance, enabling manipulation through standard web APIs for styling, transformation, and animation.
- Tiling backend: The compositor leverages Maganese's Rust-based tiling window management code, which follows the design patterns established by Sway in the i3-inspired tiling compositor space.
- Technology stack: The project combines Rust (for the underlying compositor and tiling logic) with web technologies (HTML, CSS, JavaScript/TypeScript) for the presentation and customization layer.
Why it matters
Domicile lowers the barrier to entry for desktop environment experimentation by allowing web developers to apply existing skills rather than learning Wayland protocol details or compositor-specific configuration syntax. However, embedding a full Chromium engine for compositor duties raises predictable concerns around memory footprint, startup latency, and security surface area compared to native compositors like Sway or dwl. The project may find traction among developers prototyping custom interfaces for kiosks, embedded displays, or specialized workstations where web-technology familiarity outweighs resource efficiency concerns.
Original reference: www.phoronix.com →