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
这是什么?Noctalia 是一个原生 Wayland 桌面 shell,把状态栏、启动器、Dock、控制中心、通知、壁纸选择器、锁屏、OSD、托盘和桌面小组件整合成一个连贯的整体,而不是各自独立的工具。
这是一个完整的桌面环境,还是别的什么?它是一个桌面 shell 层,不是完整的桌面环境:窗口管理、平铺、合成器配置、文件管理和磁盘挂载都交给合成器或其他应用处理。它直接构建在 Wayland/OpenGL ES 之上,不依赖 Qt 或 GTK。
怎么安装和配置它?按照 BUILDING.md 中的依赖和各发行版命令从源码构建,或按 PACKAGING.md 使用发行版打包。配置使用 TOML 文件,example.toml 提供了现成的起始配置,并支持热重载。
它支持哪些 Wayland 合成器?它需要支持 layer-shell 协议的 Wayland 合成器。目前已适配 Niri、Hyprland、Sway、Scroll、Mango、Labwc、Triad 和 dwl。
它在任何 Wayland 合成器上表现都一样吗?其他合成器也许能运行它,但工作区、窗口、输出或会话操作的集成程度会有所降低,取决于它们暴露了哪些协议和 IPC。
它是面向谁的?面向使用 Wayland 的 Linux 用户(尤其是 Niri/Hyprland 用户),他们想要一个风格统一、可定制的桌面 shell,而不是把状态栏/启动器/通知工具一件件拼凑起来。
我可以在默认功能之外扩展自定义功能吗?可以,它有一套插件系统,支持用户安装扩展,涵盖额外的状态栏组件、启动器提供源、桌面小组件、面板,以及特定合成器或特定硬件的控制。
登录界面呢?那由另一个项目 Noctalia Greeter 负责,不属于 Noctalia 核心。
它会管理我的合成器设置或 dotfiles 吗?不会,Noctalia 是非侵入式的,不管理合成器设置,也不会接管你的 dotfiles;合成器专属控制是可选加入的插件。
完整的配置选项在哪里看?完整的配置参考发布在文档网站上,源 MDX 文件在 docs/user/ 目录,可通过 tools/sync-docs.sh 同步到本地。
Size
120.6 MB
Stars
11.4K
Age
1y
Commits · 90 Days