noctalia README

The project's README from github.com/noctalia-dev/noctalia. As one markdown file: README.md.

Noctalia

Noctalia is a native Wayland desktop shell for people who want a polished, configurable Linux desktop without stitching together a separate bar, launcher, notification daemon, lock screen, wallpaper tool, and settings UI.

It provides the shell layer around your compositor: bars, widgets, dock, launcher, control center, notifications, wallpaper, lock screen, session actions, clipboard history, OSDs, tray integration, and desktop widgets. The project is built directly on Wayland and OpenGL ES with no Qt or GTK dependency, so the UI, rendering, configuration, and IPC model are designed as one cohesive shell instead of a collection of unrelated panels and scripts.


Noctalia Logo

Install Noctalia


Last commit GitHub stars Documentation Discord

Why Noctalia?

Most Wayland setups leave the desktop shell to a stack of small tools: one bar, another launcher, another notification daemon, a lock screen, a wallpaper daemon, scripts for session actions, and separate config formats for each piece. That can be flexible, but it also makes a complete desktop feel fragile and hard to keep visually consistent.

Noctalia solves that by providing one configurable shell layer that owns the common desktop surfaces and services while still fitting into compositor-driven Wayland workflows. It is meant for users who want the control of a custom desktop environment with fewer moving parts and a consistent UI.

To understand the values and philosophy guiding the project, read our ethos.

What It Includes

Wayland Compositor Support

Noctalia supports Wayland compositors that provide the layer-shell protocols it needs for shell surfaces. Workspace integration works through compositor-native backends where needed, or through ext-workspace-v1 on compositors that implement it.

Current compositor integrations include Niri, Hyprland, Sway, Scroll, Mango, Labwc, Triad, dwl, and other compatible Wayland compositors. Other compositors may run Noctalia but can have reduced workspace, window, output, or session-action integration depending on the protocols and IPC they expose.

Scope

Noctalia is a desktop shell, not a full desktop environment. It provides the visual and service layer around your Wayland compositor: bars, panels, launcher, notifications, dock, lock screen, idle behavior, OSDs, theming, wallpapers, desktop widgets, and multi-monitor shell surfaces.

Window management, tiling, compositor configuration such as monitor arrangement and positions, file management, removable-drive mounting, printers management, and screen mirroring/casting belong to the compositor, dedicated desktop applications, or system services.

Display/login greeter support lives in the separate Noctalia Greeter project. Noctalia may integrate with those pieces when useful, but it does not replace them.

Core Noctalia is non-invasive: it does not manage your compositor settings or take over your dotfiles. Compositor-specific controls can be provided as opt-in plugins rather than becoming core shell behavior.

The plugin system is available for user-installed extensions. Features that are useful to some users but not essential to the core shell can live there: extra bar widgets, launcher providers, desktop widgets, panels, shortcuts, background services, compositor-specific extras and controls, hardware-specific controls, and third-party service integrations.

Build from source

Source dependencies, distro-specific package commands, build modes, and install layouts live in BUILDING.md.

Configuration

A ready-to-use starting config with all defaults is at example.toml. The full configuration reference lives in the documentation site. The source MDX files are in docs/user/; sync them to a local docs checkout with tools/sync-docs.sh.

Contributing

Developer notes, architecture overview, code style, project layout, and debugging commands live in CONTRIBUTING.md.

Bug reports, fixes, documentation updates, themes, and configuration examples are welcome. For general help and design discussion, join the community on Discord.

Credits

Thank you to the contributors and community members who test Noctalia, report issues, share configurations, and help shape the project.

Donations

Donations are appreciated but completely optional.

Buy Me a Coffee Ko-fi

License

MIT License. See LICENSE for details.

Packaging

Distro packaging notes (description, deps, install layout, Meson options) live in PACKAGING.md.

Star History

Star History

noctalia (noctalia-dev/noctalia)

Searching Database…

11.4K ·GitHub
What is this?Noctalia is a native Wayland desktop shell that provides bars, launcher, dock, control center, notifications, wallpaper picker, lock screen, OSDs, tray, and desktop widgets as one cohesive package instead of separate tools.
Is this a full desktop environment or something else?It's a desktop shell layer, not a full DE: window management, tiling, compositor configuration, file management, and drive mounting are left to the compositor or other apps. It's built directly on Wayland/OpenGL ES with no Qt or GTK dependency.
How do I install and configure it?Build from source using the dependencies and distro-specific commands in BUILDING.md, or use distro packaging per PACKAGING.md. Configuration uses a TOML file, with a ready starting config at example.toml and hot reload support.
Which Wayland compositors does it work with?It needs a Wayland compositor exposing layer-shell protocols. Current integrations include Niri, Hyprland, Sway, Scroll, Mango, Labwc, Triad, and dwl.
Will it work the same on any Wayland compositor?Other compositors may run it but with reduced workspace, window, output, or session-action integration depending on what protocols and IPC they expose.
Who is this aimed at?Linux users on Wayland (especially Niri/Hyprland setups) who want a consistent, custom desktop shell with fewer moving parts than piecing together separate bar/launcher/notification tools.
Can I extend it with custom features beyond the defaults?Yes, it has a plugin system for user-installed extensions covering extra bar widgets, launcher providers, desktop widgets, panels, and compositor-specific or hardware-specific controls.
What about the login screen?That's handled by a separate project, Noctalia Greeter, not by core Noctalia.
Does it manage my compositor settings or dotfiles?No, Noctalia is non-invasive and does not manage compositor settings or take over your dotfiles; compositor-specific controls are opt-in plugins.
Where do I find the full configuration options?A full configuration reference is published on the documentation site, with source MDX files in docs/user/ that can be synced locally via tools/sync-docs.sh.
Size
120.5 MB
Stars
11.4K
Age
1y
Commits · 90 Days