n0ctaneteam/nebula-shell — explained in plain English
Analysis updated 2026-05-18
Build a custom top bar with a clock and app launcher for a Hyprland desktop.
Create a toggleable control panel with buttons wired up through Lua scripts.
Style widgets with standard GTK4 CSS, including hover states and runtime class toggling.
Generate a JSON Schema so your editor autocompletes the YAML configuration file.
| n0ctaneteam/nebula-shell | oleavr/vala | byoval/purclean | |
|---|---|---|---|
| Stars | 6 | 1 | 16 |
| Language | Vala | Vala | Vala |
| Last pushed | — | 2017-11-09 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 3/5 | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires building from source with Meson and Vala, plus GTK4, GTK4 layer shell, and a Lua runtime.
NebulaShell is a lightweight toolkit for building the desktop widgets you see on a Linux desktop, things like a top bar with a clock, a control panel, or popover menus, but for Wayland based desktop setups such as Hyprland and other similar window managers. The core of the program is written in the Vala language and rendered with GTK4, and it is designed to use the Wayland layer shell protocol so widgets can sit on top of or alongside your other windows properly. What you actually customize as a user is a YAML configuration file, where you describe bars, panels, buttons, labels, and other widgets as a tree of nested elements, each with properties like which screen edge they anchor to, their size, margins, and padding. Interactive behavior, like what happens when you click a button or toggle a panel, is written in Lua scripts that can look up a widget by its ID and change its visibility or label. Appearance is controlled through standard GTK4 CSS, so you can style bars, buttons, and dialogs with familiar CSS properties such as background color, padding, and hover states, and even toggle CSS classes at runtime from Lua. NebulaShell also ships a command line tool for everyday use: running it with a config file, quitting a running instance, toggling a specific widget, inspecting the current widget tree for debugging, and generating a JSON Schema file so text editors like VS Code or Neovim can offer autocomplete while you edit your YAML configuration. To build it from source you need GTK4, the GTK4 layer shell library, GLib and its related libraries, and a Lua interpreter, along with the Meson build system and the Vala compiler. Installation instructions are given for both Arch Linux and Ubuntu or Debian based systems. The project describes itself as fast, lightweight, fully customizable, and memory safe thanks to modern Vala and GLib practices. No license is stated in the README.
A lightweight Vala and GTK4 toolkit for building custom desktop bars, panels, and widgets on Wayland desktops like Hyprland.
Mainly Vala. The stack also includes Vala, GTK4, Lua.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.