A comprehensive installer and management tool for DankMaterialShell, a modern desktop environment built on Quickshell for Wayland compositors.
- dankinstall Installs the Dank Linux suite for niri and/or Hyprland
- Features the DankMaterialShell
- Which features a complete desktop experience with wallpapers, auto theming, notifications, lock screen, etc.
- Offers up solid out of the box configurations as usable, featured starting points.
- Can be installed if you already have niri/Hyprland configured
- Will allow you to keep your existing config, or replace with Dank ones (existing configs always backed up though)
- Features the DankMaterialShell
- dms Management wrapper for the Dank Linux Suite
- Handle updates
- Process ipc commands
- Run dank shell
curl -fsSL https://install.danklinux.com | shAlternatively, download the latest release
Note on Greeter: dankinstall does not install a greeter.
- Start niri with
niri-session, or Hyprland withHyprland - If you want a greeter such as gdm, sddm, tuigreet - follow your distribution's guide.
Supported: Arch, CachyOS, EndeavourOS, Manjaro
Special Notes:
- Uses native
pacmanfor system packages - AUR packages are built manually using
makepkg(no AUR helper dependency) - Recommendations
- Use NetworkManager to manage networking
- If using archinstall, you can choose
minimalfor profile, andNetworkManagerunder networking.
Package Sources:
| Package | Source | Notes |
|---|---|---|
| System packages (git, jq, etc.) | Official repos | Via pacman |
| quickshell | AUR | Built from source |
| matugen | AUR (matugen-bin) |
Pre-compiled binary |
| dgop | AUR | Built from source |
| niri | Official repos (niri) |
Latest niri |
| hyprland | Official repos | Available in Extra repository |
| DankMaterialShell | Manual | Git clone to ~/.config/quickshell/dms |
Supported: Fedora, Nobara, Asahi
Special Notes:
- Requires
dnf-plugins-corefor COPR repository support - Automatically enables required COPR repositories
- All COPR repos are enabled with automatic acceptance
- Editions dankinstall is tested on "Workstation Edition", but probably works fine on any fedora flavor. Report issues if anything doesn't work.
- Fedora Asahi Remix hasn't been tested, but presumably it should work fine as all of the dependencies should provide arm64 variants.
Package Sources:
| Package | Source | Notes |
|---|---|---|
| System packages | Official repos | Via dnf |
| quickshell | COPR | errornointernet/quickshell |
| matugen | COPR | solopasha/hyprland |
| dgop | Manual | Built from source with Go |
| cliphist | COPR | alternateved/cliphist |
| ghostty | COPR | alternateved/ghostty |
| hyprland | COPR | solopasha/hyprland |
| niri | COPR | yalter/niri |
| DankMaterialShell | Manual | Git clone to ~/.config/quickshell/dms |
Supported: Ubuntu 25.04+
Special Notes:
- Requires PPA support via
software-properties-common - Go installed from PPA for building manual packages
- Most packages require manual building due to limited repository availability
- This means the install can be quite slow, as many need to be compiled from source.
- niri is packages as a
.debso it can be managed viaapt
- Automatic PPA repository addition and package list updates
Package Sources:
| Package | Source | Notes |
|---|---|---|
| System packages | Official repos | Via apt |
| quickshell | Manual | Built from source with cmake |
| matugen | Manual | Built from source with Go |
| dgop | Manual | Built from source with Go |
| hyprland | PPA | ppa:cppiber/hyprland |
| hyprpicker | PPA | ppa:cppiber/hyprland |
| niri | Manual | Built from source with Rust |
| Go compiler | PPA | ppa:longsleep/golang-backports |
| DankMaterialShell | Manual | Git clone to ~/.config/quickshell/dms |
NixOS is not supported atm due to the flake needing some adjustments for defaults/Hyprland, it will be re-enabled in the future. You can install the dms flake manually still and get most of what you need for this setup
Supported: NixOS
Special Notes:
- Window managers (hyprland/niri) should be managed through
configuration.nix, not the installer- This means we require hyprland or niri to be installed first.
- Uses
nix profilefor user-level package installation - All packages sourced from nixpkgs or flakes
- DMS installed as a flake package (not
git clonelike other distributions)
Requires the following in configuration.nix
{
nix.settings.experimental-features = ["nix-command flakes"];
}
Package Sources:
| Package | Source | Notes |
|---|---|---|
| All system packages | nixpkgs | Via nix profile install nixpkgs#package |
| quickshell | Flake | Built from source |
| matugen | Flake | Built from source |
| dgop | Flake | Built from source |
| DankMaterialShell | Flake | Installed via nix profile |
| hyprland | System config | programs.hyprland.enable = true in configuration.nix |
| niri | System config | Add to environment.systemPackages in configuration.nix |
The installer handles manual package building for packages not available in repositories:
- Built from source using cmake
- Requires Qt6 development libraries
- Automatically handles build dependencies
- Built from Go source
- Requires Go 1.19+
- Installed to
/usr/local/bin
- Built from Go source
- Simple dependency-free build
- Installed to
/usr/local/bin
- Built from Rust source
- Requires cargo and rust toolchain
- Complex build with multiple dependencies
Main installer with interactive TUI for initial setup
Management interface for DankMaterialShell:
dms- Interactive management TUIdms run- Start interactive shelldms run -d- Start shell as daemondms restart- Restart running DMS shelldms kill- Kill running DMS shell processesdms ipc <command>- Send IPC commands to running shell