HN Companion◀︎ back | HN Companion home | new | best | ask | show | jobs
Dux: Free, open-source Wayland desktop shell with file manager and theming (duxlabs.dev)
343 points by indigodaddy 2 days ago | 146 comments


I was confused for a second, but turns out DMS rebranded the 'Dank' to 'Dux' a few weeks ago [1]. I've been running DMS + Niri for nearly a year now with no intentions of switching anytime soon. Given how often I've historically changed shells/DEs, this is the ricing equivalent to settling down, getting married, and having kids.

[1] https://duxlabs.dev/blog/v2-0-release


Unfortunate name switch, as in latin "dux" means "leader" and it was a title most recently used by Mussolini

https://en.wikipedia.org/wiki/Dux


Dux is used in other contexts, eg in Portugal for leaders of universities 'fraternities'. No fascist implications whatsoever.

Some people are eager to raise their pitchforks, but we don't need to police every word.


This is because you are not Italian. If in Italy you find a wall writing with Dux on it, there is 100% only one thing it can mean. To me this sounds as weird as someone naming their project Führer

Gestern ging ich mit einem Führer auf den Berg.

Der Führer war sehr nett und die Menge bedankte sich mit einer Geldspende.

No need to freak out.


Nice try, but not convincing... . If in Germany you find a wall writing with Führer on it, there is 100% only one thing it can mean.

This isn't graffiti on a wall though, its a Linux desktop environment. Surely you can understand the difference.

Italy really let fascists permanently own the Latin word for "leader"? That's pretty weak. Reminds me of the OK sign.

In any case, this isn't graffiti in Italy, it's a terminal emulator.


Every language in the world beyond German let fascists permanently own the German world for "leader".

There are several other mentions of this in other threads. Its entirely possible it is an oversight. Yet I would also not be entirely surprised if (at least for some people) it is a well-chosen subtle troll, given that there are people that would find such a thing funny in this space (= recent heavily LLM-driven wayland ricing, aka hyprland, omarchy, also neovim, etc).

Been using this for close to a year (wrote about it here when it was still called Dank Material Shell: https://tedium.co/2026/01/29/niri-danklinux-scrolling-window...); it is endlessly slick, and I think good enough to help mainstream Niri.

It also just added official support for atomic distros like Bazzite; it was previously kind of an annoying gap given the popularity of those distros.


I'd honestly recommend giving Mangowm a try. While Niri is beautiful, Mango is just more functional and more focused on getting basic features right IMO,

https://mangowm.github.io/


I don't have a single complaint with Niri—defintely not around functionality—so I'll stick with what I have, I think.

I too am exceptionally happy with Niri. Could you expand on your comment around functionality and the basic features you're talking about?

my squinting eyes read this as mangrown

Mango uses wlroots as underlying wayland compositor library and has been established for almost a decade now thanks to sway. Niri is using a new universal rust-based library (smithay), which doesnt implement all wayland extensions yet, but it get better all the time. background-effects blur for example was added in the last months!

> HDR Support added 4 months ago

Wow! This is actually enough for me to try it. Given that the only tiling wm on wayland with HDR support was Hyprland, which is backed by DHH, I was left feeling a bit sour about this.


I've been using it with Zirconium (Fedora Bootc-based), can recommend!

https://github.com/zirconium-dev/zirconium


> makes use of Niri and DMS to create a usable out of the box TWM experience

The only word I understand is twm, and I absolutely certain this is not twm.


You are not alone.

This looks at lot like Android.

I am not sure how I feel about the curl | sh installation. This seems lile the kind of project which should become part of a Linux distro and thoroughly reviewed before it can be trusted unconditionally.


Piping curl to sh is pretty much always a bad practice.

Have there been any notable incidents where mistrusting a curl | sh was the cause? I hear people say not to do it way more than I hear people talking about actual incidents it's caused.

I've had a few. Not as security attacks.

More just very badly made install scripts, which (in good faith) destroy some part of my operating system.

Messing up repositories added to package manager, creating dependency conflicts, overwriting config files I used. Even removing full folders - "because it's MINE" syndrome. --dry-run modes that are destructive. A lot of install scripts treat my computer as disposable machine meant for their app only.


Technically any app installer can do this. Happens all the time on Windows actually with ms store apps

MS Storage makes google play store look reasonable.

For Linux package management I am used to decent standards, where packages have maintainers that care about the whole ecosystem. I wish this would scale to the insane amount of software we nowadays have.

Personally wherever OS package manager is lacking, I tend to use Aqua (https://aquaproj.github.io/) as it failed me the least. Some decent work was put into this.


One coverage tracker used something like this for recommended CI setup, script was hijacked, users were advised to rotate all credentials available in CI.

None. It was always a kind of snobbery against packages too small to be in package managers.

There are reasons curl|sh is a bad way to install things but security isn't one. It's difficult to uninstall, for instance.


I mean you really don't wanna run this one

    echo -e "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\nrm /" | nc -l 8080 & curl localhost:8080 | sh
edit: seriously, don't run this, not even if you're curious

it'll just print an error message because / is a directory. There's also a good chance curl starts first and fails to connect to the server that's not running yet.

Not as bad as giving it your root password which it asks on step 3. Not via sudo or run0, it asks you a password which it saves so it can then use sudo or run0. Uuuh no.

It’s not a good look, but: if you’re installing this, you already trust it with your password, since its UI is the lock screen and the login screen, etc. where you enter your password.

Yeah but I think there's a line between trusting a local app and trusting a remote install script

They also have a fedora copr repo for proper package management if you use fedora.

Yeah, definitely ripped straight from Material Design. That clock widget looks like an exact copy of one from a phone I had.

I assume this project is all vibe-coded?


> I assume this project is all vibe-coded?

You know what happens when you assume, right?

https://github.com/duxlabs-dev/dux-shell?tab=contributing-ov...

Quoting in part from that:

> Using an LLM to help write code is fine. Submitting its output unread is not.

> * You are responsible for every line you submit. You have read it, tested it, and can explain it in review.

> * Say in the PR when a meaningful part of the code was AI generated.

> * Write PR descriptions, issues, and comments yourself. No AI-written or AI-rewritten text. A few plain sentences in your own words beat a page of generated summary. PRs and issues with AI-written text get closed without review.

> ...

> * PRs that read like unreviewed output, with narrating comments, invented APIs, or style that ignores the file they are in, get closed without review.

That looks very clearly non-vibe coded to me. (Also, it's a mature project with 79 releases over the last year and a bit, and 321 contributors.)

As much as I respect the abilities of agentic coding LLMs, I don't think we're yet at the point that you could vibe-code a novel Wayland DE. This is not trivial stuff!


There’s a new vibe coded Wayland shell every week now. It’s actually unfortunate DMS renamed when they did. I saw this and assumed it was just another vibe coded abandonware without realizing what it was.

It isn't really a wayland DE. It's a shell that can be used with niri, hyprland, sway, etc. And is also built on top of quickshell.

Glad to be proven wrong. :)

> You know what happens when you assume, right?

Judging by the text you quoted, you guess correctly?

> As much as I respect the abilities of agentic coding LLMs, I don't think we're yet at the point that you could vibe-code a novel Wayland DE.

You definitely could. Have you tried?


I'm not saying you do this, but I do enjoy complaints about piping cURL to shell when so many people are giving LLMs full access to do whatever they want on their computers.

Sometimes they're the same people such at it is fun seeing the mental gymnastics to draw the line just under one's self.


https://wiki.xfce.org/releng/wayland_roadmap My most anticipated development roadmap these days.

Agreed, it's the only mainstream desktop with Windows 2000-era ergonomics, which I particularly like. I reluctantly use GNOME now for its better security.

Huh, as someone who has used a bit of Xfce back in the day but mostly preferred Gnome2/Mate, I wonder: what does Xfce have that Mate doesn't?

One thing that usually didn't work as well, was external monitor handling, so I went with Mate instead.

Nowadays Cinnamon is also good and feels very Windows-like (in a good old-windows way).


> what does Xfce have that Mate doesn't?

A 1px window border that's near-impossible to land on.


Same here, it is either XFCE or KDE, when on GNU/Linux.

Ideally WindowMaker, but there is not much development going on there nowadays.


Does KDE not have that? I don't know a lot about this and have just been using whatever DE comes default. Gnome3 does seem like it's trying to be "different," and I remember Gnome2 being more normal.

KDE seems surprisingly decent now (I tried Plasma out the other day).

Personally, I'm still using Unity 7 on X11, but as that DE's project is now seemingly dead again, I keep looking for a replacement. This one also looks pretty interesting!

I would really like to find something that handles fractional scaling as efficiently as Unity/Compiz. That, the dash, and (I'm ashamed to admit) wobbly windows are what keep me using it.


I stuck with Unity 7 for a long time, but almost all of it can be replicated with KDE these days (I always liked the a top bar with the Window title and buttons, saves space on laptop screens). I'm surprised you find fractional scaling better on Unity/Compiz though, that was one of the reasons why I switched away (especially using fractional scaling at different levels on multiple displays). I still miss the HUD though.

No, KDE is kind of a mess and is far from the look and feel of classic desktop UIs.

KDE has been nothing but polished and robust for me for a long time. To each their own, I guess.

KDE is a better Windows desktop than Windows is itself. Plasma 6 and transition to Wayland has made it a complete desktop environment.

I just want it to look and work like Windows or Mac. Those aren't perfect designs, but they will probably not be bested by a barely-funded FOSS project, and even if that happened, familiarity is more important. KDE looks like Windows.

Haha, yeah. Once XFCE is fully wayland driven, I will probably be back on xfce.

From the link in the post to which you replied:

> It is not yet clear which Xfce release will target a complete Xfce Wayland transition (or if such a transition will happen at all).


Ok, IF xfce is fully transitioned to wayland...

None of them seems to be aware that "Dux" is not really a good word, because it's the name used by Benito Mussolini for himself. It reads the same as calling this WM "Fuhrer". Not a good name choice. Average look, from the software part, not mature enough compared to other setups such as hyprland or sway.

I think Mussolini commonly went by "il duce", while dux seems to be going back all the way to ancient Roman times, where it's a noun related to the verb for "to lead", meaning leader, essentially. It and its root gave us "duke", "duct", "produce", among many others.

Dux: "The top (male or female) academic student in a school, or in a year of school; the top student in a specified academic discipline."

https://en.wiktionary.org/wiki/dux

https://dictionary.cambridge.org/dictionary/english/dux


And Führer means "driver", and the fact it means driver is irrelevant to why it would be a terrible name choice for a piece of software unless you're trying to appeal to a very specific audience. I'm not sure what point you think you're making.

both "driver" and "leader"

Don't be silly! Driver is normally translated with Fahrer. No one today uses Führer... Maybe only a person born in 1929...

Dux is just Latin for leader, so it's the control center of your OS I guess. The app that's in charge. Why does everything have to be about fascism or politics?

As a control center of an OS it makes sense.

However, I can also understand that for some, words like DUX or Führer have a specific connotation based on where they are from, especially if it becomes personal...


Does it really read the same as Führer? Who thinks that? Just Italians?

I certainly didn't until you pointed it out.


DMS is extremely solid but at this point is becoming more all-encompassing than I honestly want

I've been wanting to try Noctalia with this River-based multi-paradigm compositor (which supports DMS) https://github.com/greenm01/triad


I knee-jerk moved to Noctalia because the Mango functionality was broken (due to config syntax change). Guess is a good opportunity to switch back.

When I moved from x to Wayland; I just moved from my bswpm setup to plasma because I couldn't get similar workflow that I set up in bspwm in either hyprland or sway. Then river entered my radar; but I think the development moved towards becoming a protocol rather than a WM. Nice to see river being used, might give this a try.

Funny you say that, I just started doing specs, planning for a river based compositor based on Niri & Umbriel. After mentioning the idea a couple months ago. https://news.ycombinator.com/item?id=49093022

Umbriel is a Niri- like scrolling wm from the Noctalia devs, have really been enjoying it. But I do want something more configurable, easier to play with. And river certainly seems like the main go-to base for that.

Running Noctalia is a must for me. It's a great shell, from a great team. The v5 took a lot of lessons from the past & really spun a very elegant beautiful new user product with a great architecture. Great stuff, not to be missed imo. Happy convert from DMS too.


That's awesome, I'm excited to see what you come up with because Umbriel is definitely cool.

I def recommend studying that Triad project: it excites me because it represents the idea that if River had an extra layer on top of you'd have the WM customization potential that normally just comes with building a custom WM or compositor but through config and having Niri/Noctalia/DMS compatibility solved by default


Here I am with Waybar and a few fuzzel scripts still wondering what all the fuss is about.

I use it daily. There was a learning curve since I was used to GNOME Shell, but Niri and the ability to build my own widgets with QML ended up being the killer features for me. I've built several custom widgets and small apps, and I'm happy with my workflow

Great rename, Dux/Tux, keeping the "d" at the start..

Plus, in school the dux is the person who came top of the class.

It's been turning into a very complete desktop env for a while now, surprising it doesn't get talked about more. Glad to see it get exposure on HN.


Here in Italy the first thing it makes you think of is Mussolini.

Nobody will ever think of Tux here.


I think the Teletubbies aesthetics maybe counterbalances that.

> Plus, in school the dux is the person who came top of the class.

dux it's the italian version of gimp

https://it.wikiquote.org/wiki/Obelisco_Mussolini


LLLms brought the ui renaissance! Every forgotten by the god use case now has a pretty ui/tui! Heck even simple scripts now have well documented APIs. I love this.

The downside is that we are likely too late. I don’t see desktop/ apps / window metaphors etc surviving the AI apocalypse.


I was deciding between DMS and Noctalia; and noctalia's move away from quickshell due to resource usage made me decide on noctalia. But nice to see Dux developing.

On my system

  qs   - 330m
  niri - 49m
  dms  - 90m
Passable, I'd say

Yeh that was my biggest issue when trying DMS. What's the reason Quickshell is heavy?

It’s lots of layers. Quickshell is built on QtQuick, which is QTs ui abstraction over regular QT, the c++ based app framework.

How easy are all these tiling WMs for beginners? Is there one that's mouse-first (i.e. usable without the keyboard) and easily configurable without config files?

I tried Omarchy at the beginning of the year, but didn't really warm up to Hyprland.


Would be interested to know too. The config hell you find yourself in with most of them is just not worth it to me.

These days I just install COSMIC Desktop (developed by system76) and call it a day. It has pretty good tiling features built in and is very easy to use.


Noctalia, Niri, NixOS

I'm always surprised by how beautiful these make Linux, but they also turn away from the minimalism I appreciate about my Linux desktop. I'm OK with pulling up a web browser to view the weather! I've historically used a variety of "bars", and being able to tailor them down to "only show me info X" has done wonders for my focus and comprehension.

I think it's great that the year of the Linux Desktop has come and is beautiful, but it's not for me.


If you want to go further, there's Wayland on Android too.

https://denialwm.org/mobile


Wayland on Android sounds interesting, and the... distro? you linked is interesting, but I'm not seeing a connection?

Oh, good; finally the long promised 'year of the Linux Desktop' has landed.

You can pick and choose which aspect of the UI you want. I have win n mapped to pop up the system tray widget, and win d mapped to pop up the calendar. No other parts of the UI show, so it's a nice balance of minimalism and functionality.

Currently running Noctalia and interested in anyone who has switched to Dux & can talk out pros and cons. Particularly interested in creating custom widgets.

Been using this and niri since the inception of both, 0 complaints, 0 maintenance. I had a period(s) of going completely crazy with customizations, tons of dot files, i3, bspwm, way (and other) bars, modules, all of it and I probably forgot 90% of it. and just suddenly I settled on these 2 and kept using it.

I have been using a pretty basic DWM I customized with the old #! Linux keybindings I love so much for years now. I have been very reluctant to change this setup but Wayland does seem much better these days. I feel I may need to switch up soon. Kinda feels like the end of an era lol.

I love Dux. Use it on everything other than my primary gaming PC. It is an amazing tiling manager and they are developing very quickly. Shoutout to the team behind it.

I love what these shells do for the linux desktop, but on laptops it makes me bit concerned about battery life. The last time I checked out Dank Material Shell, I saw an impact on power consumption over vanilla Niri.

I find it interesting that the demo of the themes shows only dark themes, but the demo of other features all use light themes.

anyone have extended thoughts using this (DMS?) vs Noctalia? i’ve been running a Noctalia fork for like a year now and I’m quite happy with its development. easy to upstream PRs too!

depends on when that fork happened. noctalia v5 moved away from quickshell and is way more performant and lightweight than DMS even if a bit more limited in what you can do

i'm constantly rebasing against latest main so i am using v5 indeed! barely used DMS so i'm curious if anyone has specific reasons they prefer one

I dont mean to be too pedantic but open source for a linux desktop environment kinda should go without saying?

Rather, I couldn't imagine using a closed source one.


They exist, for example SteamOS has closed source desktop shell based on Steam client

Their gamescope compositor is free software at least.

Good point, available at https://github.com/ValveSoftware/gamescope BSD license

Was it Caldera that shipped a linux with Motif?

(We're talking three decades ago now)


fwiw I can remember all the turmoil when Qt had no free tier and KDE was work of the devil

If you or anyone else want a trip down memory lane around that topic, peppered with some interesting revelations, this video is worth checking out:

KDE: The Documentary — The Story of Free Software Underdogs

https://youtu.be/1Vyzla9mx4g


This project will end up hanging upside down.

Only Italians will understand that

nice project, bad naming :)

It just means a leader or a guide in latin IIRC

why?

ever heard of an Italian guy named Benito Mussolini?

As I understand it he used "Il Duce"? Which makes this feel like a stretch.

He also used the latin form Dux. (there are statues and motto with that term).

Whatever, just means leader

So does führer

most German people today have a Führerschein and are fine with that.

but if a software name is Führer I would comment in the same way, bad naming.

I'm curious, what is the worst that could happen if people ignored your warning? Some agent runs the installer and accidentally tricks the user into aligning with ideologies you are not supposed to align with?

Führer also just means leader and is whatever, other than the unicode being annoying

It’s a good idea but the name sounds a bit weird to us Italians. dux is the alias of Mu55olini

Ho aperto la zona commenti solo per verificare ci fosse questo commento ahah. (I only opened the comments to see if someone had already mentioned this haha.)

Is it like calling your app Führer?

Github contributions, Claude, oh well.

At least some brownie points for using Go, I guess.


if you install it on top of gnome , the design of a show-apps gnome extension i made for myself which is android inspired would fit really nicely with this i think. https://github.com/y0av/cubby

The design language looks heavily ChromeOS-inspired.

It's a design based on Material Design, created by Google and used in Android and Chrome OS, yes

It's made with Quickshell and "Quickshell is configured in QML, a simple language designed for creating flexible user interfaces." - https://quickshell.org/

so its a full shell now not just a theme, wonder when it becomes heavy enough that people start wanting something lighter on top of niri

Curious to see the difference with Regolith.

Seems...about the same as Noctalia?

nice I might switch to this. I'm just using sway and a couple of gnome things clobbled together

looks pretty cool ill give it a try!

While Dux looks very very beautiful without a doubt, what is the main premise for its existence? With no offense to the makers of Dux, maybe I'm dense but what does it bring that other DE's may not? For example, when Cosmic DE came out, in my mind it felt like it sits on a spectrum between Gnome and KDE Plasma, with maybe leaning a bit closer to Gnome. Now, to me at a glance, Dux sits in that same spectrum but leans a bit closer to KDE Plasma. Is that sort of the design intent, like, as "pretty" as Gnome, but as "flexible/tunable" as KDE Plasma? Forgive me if my comparisons are too obtuse...but i sincerely wish to understand what is it about Dux that the makers had in mind...I'm not seeing a premise stated anywhere that's obvious. If someone would kindly share any info.

By the way, I mean no offense to anyone who invested so much time making Dux! I'm just trying to understand/learn. :-)


How is it for resource use? I tried to make labwc+lxqt work for a low-gpu desktop to free up GPU for local LLM but lxqt is very not good without Openbox and I don't like switching back to X.

(I prefer KDE Plasma generally but it uses more GPU)


One problem I have with all these wayland desktops is that they don't work in virtual machines... like at all or very buggy.

VMs have hard time handling paravirtualized Vulkan so far. Tried using Venus with virt-manager and it's still very non trivial.

It is so crazy how normal it looks that a random website suggest you to do a "curl -fsSL https://install.duxlabs.dev | sh" to install anything, and most people would stupidly do it without even thinking about it.

Someone coming from 10 to 15 years in a past would think that people are crazy now. And looks like that he would be right when you see the amount of vulnerabilities and stupid breaches like people being pawned just by doing an update with npm or so.


People were doing this 10 to 15 years ago too. And the same debates raged on HN.

Eg https://hn.algolia.com/?q=curl+sh

I probably commented in some of those threads too. It sucks being old :(


This looks like almost like cealistia and its shell

Dux is how Mussolini was called under Fascism in Italy, just FYI if the developers are reading.

It's also a Latin word predating Mussolini by several thousand years.

It's also the name of a fabulist whose stories Jean-Claude Van Damme's Bloodsport was based on as well as his eponymous martial arts style, Dux Ryu Ninjutsu.

It's also what you call the top student in a school year. I think that waters down the association enough.

I went from Omarchy to DMS and then back to Omarchy. IMO, much better overall.

Why? I use Omarchy btw

nice