⏱️ Reading time: 11 min
Dux Modular Shell just released version 2.1, nicknamed “Stormborn”: it adds a new system monitor, video wallpapers, and a redesigned media player, according to the official Dux Labs announcement. The project is the open source alternative that many people using niri, Hyprland, or Sway had been piecing together by hand with Waybar, Rofi, and a dozen loose scripts.
📑 En este artículo
- TL;DR
- What Is Dux Modular Shell?
- Why DMS Matters
- How the Dux Desktop Environment Works
- Practical Examples and How to Get Started with DMS
- Real-World Use Cases for the Dux Suite
- Common Mistakes When Installing DMS
- Comparison: DMS vs. Other Alternatives
- Going Deeper: Inside dank16 and wlr-layer-shell
- Frequently Asked Questions
- References
The project runs on tiling Wayland compositors (niri, Hyprland, Sway, Miracle, and labwc) and also comes preinstalled on two complete systems: Zirconium and the official Fedora Miracle Spin.
TL;DR
- Dux Modular Shell is an open source desktop environment for niri, Hyprland, and Sway with six integrated tools.
- DMS 2.1 Stormborn adds a system monitor, video wallpapers, and a new media player.
- The dank16 algorithm generates 16 colors for GTK, Qt, terminal, and editor from a single theme.
- Zirconium and Fedora Miracle Spin come with the desktop preinstalled on niri and MiracleWM.
- Ko-fi backs the free project with more than 115 sponsors as of November 2026.
What Is Dux Modular Shell?
Dux Modular Shell is an open source desktop environment for tiling Wayland compositors like niri, Hyprland, Sway, Miracle, and labwc. It replaces the panel, taskbar, and app launcher with modular widgets and dynamic themes, without needing a full environment like GNOME or KDE.
The full suite groups six independent tools, each with its own release cycle:
- The main shell draws panels, dash, and quick settings for audio, displays, network, and bluetooth.
- Dux Files is a file manager with tabs, split view, trash, drives, and network resources.
- Dux GOP monitors CPU, memory, GPU, disks, and network without keeping state between restarts.
- Dux Greeter replaces the login screen, based on greetd.
- Dux Search indexes and searches files on the system at high speed.
- Dux Calendar unifies calendars, events, and tasks from Google, Microsoft, CalDAV, and iCloud.
Why DMS Matters
wlroots compositors like niri, Hyprland, and Sway grew within the ricing community (visual customization of Linux) because they’re lightweight and fully scriptable. But that freedom came at a cost: building a usable desktop meant combining Waybar for the bar, Rofi or wofi for the launcher, swaylock to lock the screen, and eww for loose widgets, each with its own configuration file.
The problem wasn’t just having many pieces, but that none of them talked to each other. Changing the wallpaper didn’t update the terminal’s color scheme, and the GTK theme stayed out of sync with Qt’s. DMS tackles exactly that fragmentation: a single theming engine colors the panel, the launcher, GTK3 and GTK4 apps, Qt, and even the editor’s syntax highlighting.
This approach has real traction in the community: the project is sustained by donations (more than 115 sponsors on Ko-fi as of November 2026) and code contributions from outside contributors, without relying on venture capital.
How the Dux Desktop Environment Works
The Protocol That Positions the Panels
DMS doesn’t replace the compositor: it draws on top of it using wlr-layer-shell, the protocol that niri, Hyprland, Sway, labwc, and Miracle implement so an external app can anchor itself to a screen edge without competing for focus with regular windows. The protocol defines four layers (background, bottom, top, and overlay) and allows reserving an “exclusive zone”: the space the panel occupies so no window gets drawn underneath it.
flowchart TD
A["Wayland Compositor (niri, Hyprland, Sway)"] --> B["wlr-layer-shell Protocol"]
B --> C["DMS (panels and widgets)"]
C --> D["Dash and Quick Settings"]
C --> E["Dux Files, Dux Search, Dux Calendar"]
C --> F["dank16 Theming Engine"]
F --> G["GTK3 / GTK4 / Qt"]
F --> H["Terminal and editor"]
dank16, the Theming Engine
The second pillar is dank16, Dux Labs’ own algorithm that generates a 16-color palette (the same scheme any ANSI terminal uses) from an accent color or the active wallpaper. According to the project’s documentation, contrast is adjusted differently for light mode and dark mode, something simpler wallpaper-based theming tools don’t handle out of the box.
flowchart LR
A["Chosen accent color"] --> B["dank16 algorithm"]
B --> C["16-color palette"]
C --> D["GTK3 and GTK4 config"]
C --> E["Qt config"]
C --> F["Terminal color scheme"]
C --> G["Editor syntax highlighting"]
💭 Key point: the panel and the theme are two separate layers. You can replace just Dux Files or Dux Calendar with another app without losing dank16’s theming, because the color engine runs independently of each tool.
Practical Examples and How to Get Started with DMS
Before installing anything, confirm that your session runs on Wayland and not X11, because wlr-layer-shell only exists on Wayland:
echo $XDG_SESSION_TYPE
The expected output is wayland. If you see x11, you first need to start a niri, Hyprland, Sway, labwc, or Miracle session, and only then install DMS on top.
From there, there are two paths. The first is to boot directly from a complete image: Zirconium (an immutable Fedora-based distribution with niri and DMS preinstalled) or the official Fedora Miracle Spin (MiracleWM plus DMS). Neither requires installing the shell separately, since it already comes configured in the image.
The second path is to install DMS on top of a niri, Hyprland, or Sway setup you already have running. The official site describes an installer that detects your distribution, resolves dependencies, and configures the shell step by step, but the exact command varies by distribution and may install system-level packages. Follow it exactly as it appears in the Documentation section at duxlabs.dev before running any script.
sequenceDiagram
participant U as User
participant D as DMS Quick Settings
participant N as NetworkManager
U->>D: taps the Wi-Fi icon
D->>N: requests a network state change
N-->>D: confirms the new state
D-->>U: updates the panel icon
That’s the usual pattern for a quick setting: the panel doesn’t control the hardware directly, it delegates to the system daemon (NetworkManager, wireplumber, etc.) and only reflects the state that daemon confirms.
Real-World Use Cases for the Dux Suite
Those coming from manually setting up Waybar, Rofi, and eww save time by migrating to Dux Modular Shell because the panel, dash, and control center arrive ready to go, without writing JSON or CSS for each module.
For someone who just wants a lightweight system monitor without installing all of GNOME, Dux GOP covers CPU, memory, GPU, disks, and network without keeping state between restarts, designed to run inside a panel rather than as a standalone app.
Small distributions or community spins use Zirconium and the Fedora Miracle Spin as a ready-to-distribute base: instead of documenting 40 configuration steps, they ship an image that already has the desktop set up.
And for someone already using Dux Calendar instead of a separate Google Calendar client, the advantage is having agenda, weather, and media controls in the same dash, without switching between windows.
Common Mistakes When Installing DMS
- Not confirming the protocol: installing the shell on a compositor that doesn’t implement wlr-layer-shell means the panel simply won’t appear.
- Mixing manual themes with dank16: if you already had a GTK theme set manually, it can clash with the palette dank16 generates and produce inconsistent colors.
- Ignoring the installer’s dependencies: skipping the dependency resolution step on a distro that isn’t officially covered usually ends in silent failures when opening the panel.
- Forgetting to restart greetd: after configuring Dux Greeter, the login screen won’t change until you restart the service or the session.
Comparison: DMS vs. Other Alternatives
| Option | When to Use It | Advantage | Limitation |
|---|---|---|---|
| DMS (Dux Modular Shell) | You use niri, Hyprland, Sway, Miracle, or labwc and want a complete shell with automatic theming | Panel, dash, quick settings, and dank16 theming built in out of the box | Doesn’t run on X11 or on compositors without wlr-layer-shell |
| Waybar + Rofi + eww | You want to build every module by hand and control every line of CSS or JSON | Total customization, piece by piece | No unified theming engine: you have to sync colors by hand in each app |
| GNOME Shell | You prioritize stability and official integration over extreme tiling | Mature extensions and official support from major distributions | Depends on Mutter, doesn’t run on niri, Hyprland, or Sway |
| KDE Plasma | You want to configure everything from a graphical interface, without editing files | Configurable panels and widgets without touching text | Uses more RAM than a shell designed for minimalist tiling |
Going Deeper: Inside dank16 and wlr-layer-shell
The wlr-layer-shell protocol doesn’t just position the panel, it also defines anchors (top, bottom, left, right) that determine which edge each surface sticks to and how much space it reserves as an exclusive zone. That reservation is what keeps a maximized window from covering the panel: the compositor subtracts that margin before calculating the area available for regular apps.
dank16 is similar in spirit to tools like pywal, which generate a palette from the active wallpaper, but with a difference in scope: instead of limiting itself to the terminal, dank16 writes configuration for GTK3, GTK4, and Qt at the same time, and adjusts contrast based on the mode (light or dark) so text stays readable in both cases.
⚠️ Heads up: if your workflow depends on an app-specific GTK theme (for example, a Nautilus plugin that forces its own colors), dank16 might not override it, and the result ends up mixed.
On licensing, DMS describes itself on its own site as “free and open source, kept going by you”: no payment plan, sustained by voluntary tips on Ko-fi and community pull requests, not by a funding round.
Your next step: run echo $XDG_SESSION_TYPE in your current niri, Hyprland, or Sway session, confirm it returns wayland, and then follow the step-by-step installer in the Documentation section at duxlabs.dev before touching any configuration file by hand.
Frequently Asked Questions
Does DMS Work on GNOME or KDE Plasma?
Not directly. DMS is designed for wlroots compositors without their own shell, like niri, Hyprland, Sway, Miracle, and labwc. GNOME and KDE already come with their own shell (Mutter plus GNOME Shell, or KWin plus Plasma) and don’t let another panel take control of the Wayland layers.
What Compositors Does the Dux Desktop Environment Support?
niri, Hyprland, mangoWM, Sway, labwc, and Miracle, according to the list published on duxlabs.dev.
Does Dux Files Replace Nautilus or Dolphin?
It serves the same function (file manager) but targets a keyboard-first workflow: tabs, split view, search, and trash integrated into a single lightweight window, designed to combine with the rest of the Dux Labs suite.
What Is dank16?
It’s Dux Labs’ algorithm that generates a 16-color palette from an accent or wallpaper, with contrast adjusted for light and dark mode, and applies it to GTK, Qt, terminal, and editor at the same time.
How Much Does It Cost to Use the Dux Labs Suite?
Nothing: it’s free software. The project is sustained by tips on Ko-fi (more than 115 sponsors as of November 2026) and community code contributions, with no mandatory payment model.
What Does Zirconium Offer That Installing DMS Manually Doesn’t?
Zirconium is an immutable Fedora-based distribution that already combines niri with the preconfigured shell, so it skips the step of resolving dependencies and configuring each piece separately.
References
- Dux Labs: the project’s official site, announcement of version 2.1 “Stormborn,” and list of supported components and compositors.
- wayland.app: specification of the wlr-layer-shell protocol used by desktop shells on Wayland.
- Fedora Project: the project behind the Fedora Miracle Spin, one of the official variants with Dux preinstalled.
- Wikipedia: general context on the Wayland protocol and the compositors that implement it.
📱 Enjoy this content? Follow @programacion on Telegram for daily tech content in Spanish: quick summaries, fresh content every day.
Featured image: Foto de Martin Martz en Unsplash
Did it work for you? Got a different error? Say so below: questions get answered and help the next reader.
Leave a comment
0 Comments