DankMaterialShell
Desktop shell for wayland compositors built with Quickshell & GO, optimized for niri, hyprland, sway, MangoWC, labwc, and MiracleWM.
DankMaterialShell, a desktop shell for Wayland compositors
DankMaterialShell is a complete desktop shell for Wayland compositors that replaces waybar, swaylock, mako, and similar tools with one integrated interface.
What the shell replaces and where it runs
DankMaterialShell, also called DMS, is a complete desktop shell for Wayland compositors built with Quickshell and Go. The README states that it replaces waybar, swaylock, swayidle, mako, fuzzel, polkit, and everything else you would normally stitch together to make a desktop. It targets niri, Hyprland, MangoWC, Sway, labwc, Scroll, Miracle WM, and other Wayland compositors, and it works best with niri, Hyprland, Sway, MangoWC, labwc, Scroll, and Miracle WM, which get full workspace switching, overview integration, and monitor management, while other Wayland compositors work with reduced features. The repository is a monorepo that contains both the shell interface and the core backend services. The quickshell folder holds the QML based shell interface with Modules for UI components, Services for system integration such as audio and network, Widgets for reusable controls, and Common for shared resources and themes. The core folder holds the Go backend and command line interface, with cmd for the dms CLI and dankinstall binaries, internal for system integration and IPC and distro support, and pkg for shared packages. The distro folder holds packaging for Fedora, Debian, and Nix, and a flake.nix provides a Nix flake for declarative installation. This layout shows that DMS is not just a theme but a backend and a frontend maintained together, which is what lets it stand in for the separate utilities it replaces.
Installing and the features it ships
Installation is a single command that pipes the installer from install.danklinux.com into a shell, and the README says this installs DMS and all dependencies on Arch, Fedora, Debian, Ubuntu, openSUSE, or Gentoo, with a manual guide linked for people who want the steps. The feature list is long. Dynamic theming derives color schemes from the wallpaper and themes GTK, Qt, terminals, and editors such as VSCode and VSCodium using matugen and dank16. System monitoring shows real time CPU, RAM, GPU metrics and temperatures inside the dms daemon, powered by dgop, with a process list that supports search and management. The launcher is a Spotlight style search for applications, files through dsearch, emojis, running windows, a calculator, and commands, and it is extensible with plugins. The control center unifies network, Bluetooth, audio, display, and night mode. Smart notifications group messages and support rich text and keyboard navigation. Media integration covers MPRIS player controls, calendar sync, weather widgets, and clipboard history with image previews. Session management covers lock screen, idle detection, auto lock and suspend with separate AC and battery settings, and a front end for dank-greeter. A plugin system pulls from a plugin registry and keeps a plugins.lock.json in sync with exact Git commits so the same plugins can be reproduced on another machine. This breadth is the reason the README can claim it replaces the usual stack of separate Wayland utilities.
Command line control and building from source
DMS exposes a command line interface so you can drive the shell from a terminal or from keybinds. The dms run command starts the shell. The dms ipc call commands let you toggle the spotlight, set the audio volume, set the wallpaper to an image path, and similar actions. The dms brightness list command lists available displays. The plugin commands let you search the plugin registry, lock the portable plugin lockfile, and restore from a saved lockfile. Full CLI and IPC documentation is linked from the README. For people who want to build rather than install, the core folder builds with make to produce the dms CLI and with make dankinstall to produce the installer, and the shell runs with quickshell pointed at the quickshell folder. On NixOS the README shows a flake snippet that imports the project's home manager module so the shell is declared in configuration rather than installed by hand. The development section points to component specific docs for the quickshell folder, the core folder, and the distro folder, and the contributing steps are a standard fork, change, test, and pull request flow. The Dank Projects section lists companion repos such as dank-greeter, dankcalendar, dgop, dsearch, dank-qml-common, and dankgo, which together form the suite that DMS sits inside. The license is MIT, and the README credits Quickshell, niri, and several community dotfile projects for inspiration and code.
Editorial conclusion
DankMaterialShell is a MIT licensed desktop shell written in Go and QML that you install with the curl piped installer from install.danklinux.com, and it replaces waybar, swaylock, mako, and similar Wayland utilities.
Community notes