AvengeMedia/DankMaterialShell: Desktop shell for wayland compositors built with Quickshell & GO, optimized for niri, hyprland, sway

github.com · 2026-06-29 · by Long Nguyen ·github
Desktop shell for wayland compositors built with Quickshell & GO, optimized for niri, hyprland, sway, MangoWC, labwc, and MiracleWM. - AvengeMedia/DankMaterialShell

AvengeMedia/DankMaterialShell

Desktop shell for wayland compositors built with Quickshell & GO, optimized for niri, hyprland, sway, MangoWC, labwc, and MiracleWM. - AvengeMedia/DankMaterialShell

7.1k stars · 426 forks · 18 watchers · QML Topics: go, theme, sway, tiling-window-manager, wayland, dwl, hyprland, labwc, niri, quickshell, mangowc

README

DankMaterialShell

A modern desktop shell for Wayland Built with Quickshell and Go

DankMaterialShell is a complete desktop shell for niri, Hyprland, MangoWC, Sway, labwc, Scroll, Miracle WM, and other Wayland compositors. It replaces waybar, swaylock, swayidle, mako, fuzzel, polkit, and everything else you'd normally stitch together to make a desktop. Repository Structure This is a monorepo containing both the shell interface and the core backend services: DankMaterialShell/ ├── quickshell/ # QML-based shell interface │ ├── Modules/ # UI components (panels, widgets, overlays) │ ├── Services/ # System integration (audio, network, bluetooth) │ ├── Widgets/ # Reusable UI controls │ └── Common/ # Shared resources and themes ├── core/ # Go backend and CLI │ ├── cmd/ # dms CLI and dankinstall binaries │ ├── internal/ # System integration, IPC, distro support │ └── pkg/ # Shared packages ├── distro/ # Distribution packaging │ ├── fedora/ # Fedora RPM specs │ ├── debian/ # Debian packaging │ └── nix/ # NixOS/home-manager modules └── flake.nix # Nix flake for declarative installation

See it in Action

screencastsmol4.mp4

More Screenshots

Installation curl -fsSL https://install.danklinux.com | sh One command installs DMS and all dependencies on Arch, Fedora, Debian, Ubuntu, openSUSE, or Gentoo. Manual installation guide Features Dynamic Theming Wallpaper-based color schemes that automatically theme GTK, Qt, terminals, editors (vscode, vscodium), and more using matugen and dank16. System Monitoring Real-time CPU, RAM, GPU metrics and temperatures with dgop. Process list with search and management. Powerful Launcher Spotlight-style search for applications, files (dsearch), emojis, running windows, calculator, and commands. Extensible with plugins. Control Center Unified interface for network, Bluetooth, audio devices, display settings, and night mode. Smart Notifications Notification center with grouping, rich text support, and keyboard navigation. Media Integration MPRIS player controls, calendar sync, weather widgets, and clipboard history with image previews. Session Management Lock screen, idle detection, auto-lock/suspend with separate AC/battery settings, and greeter support. Plugin System Extend functionality with the plugin registry. Supported Compositors Works best with niri, Hyprland, Sway, MangoWC, labwc, Scroll, and Miracle WM with full workspace switching, overview integration, and monitor management. Other Wayland compositors work with reduced features. Compositor configuration guide Command Line Interface Control the shell from the command line or keybinds: dms run # Start the shell dms ipc call spotlight toggle dms ipc call audio setvolume 50 dms ipc call wallpaper set /path/to/image.jpg dms brightness list # List available displays dms plugins search # Browse plugin registry Full CLI and IPC documentation Documentation

Website: danklinux.com Docs: danklinux.com/docs Theming: Application themes | Custom themes Plugins: Development guide Support: Ko-fi

Development See component-specific documentation:

quickshell/ - QML shell development, widgets, and modules core/ - Go backend, CLI tools, and system integration distro/ - Distribution packaging (Fedora, Debian, NixOS)

Building from Source Core + Dankinstall: cd core make # Build dms CLI make dankinstall # Build installer Shell: quickshell -p quickshell/ NixOS: { inputs.dms.url = "github:AvengeMedia/DankMaterialShell";

# Use in home-manager or NixOS configuration imports = [ inputs.dms.homeModules.dank-material-shell ]; } Contributing Contributions welcome. Bug fixes, widgets, features, documentation, and plugins all help.

Fork the repository Make your changes Test thoroughly Open a pull request

For documentation contributions, see DankLinux-Docs. Credits

quickshell - Shell framework niri - Scrolling window manager Ly-sec - Wallpaper effects from Noctalia soramanew - Caelestia inspiration end-4 - dots-hyprland inspiration

Star History

License MIT License - See LICENSE for details.

source

github.com · 14 images · 1 videos · 167 links

Comments (0)

No comments yet