Skip to main content
Version: 1.4

DankInstall

██████╗  █████╗ ███╗   ██╗██╗  ██╗██╗███╗   ██╗███████╗████████╗ █████╗ ██╗     ██╗
██╔══██╗██╔══██╗████╗  ██║██║ ██╔╝██║████╗  ██║██╔════╝╚══██╔══╝██╔══██╗██║     ██║
██║  ██║███████║██╔██╗ ██║█████╔╝ ██║██╔██╗ ██║███████╗   ██║   ███████║██║     ██║
██║  ██║██╔══██║██║╚██╗██║██╔═██╗ ██║██║╚██╗██║╚════██║   ██║   ██╔══██║██║     ██║
██████╔╝██║  ██║██║ ╚████║██║  ██╗██║██║ ╚████║███████║   ██║   ██║  ██║███████╗███████╗
╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝   ╚═╝   ╚═╝  ╚═╝╚══════╝╚══════╝

dankinstall sets up the full DankMaterialShell desktop experience - wallpapers, auto-theming, notifications, lock screen, and everything else you'd expect from a modern desktop. It installs packages and configures user-level settings for your compositor and terminal. If you already have niri or Hyprland set up, dankinstall can work around your existing config (and always backs things up before making changes).

Quickstart

curl -fsSL https://install.danklinux.com | sh
tip

The installer is interactive and guides you through setup for your distribution. You can also download the latest release manually.

What Gets Installed

Core Components

Desktop Utilities

System Packages

Build dependencies: git, jq, curl, wget, go, cmake, rustup. The exact package list varies by distribution.

Supported Distributions

Arch Linux & Derivatives

Supported: Arch, ArchARM, Archcraft, CachyOS, EndeavourOS, Manjaro

Uses pacman for system packages from official repos, including dms-shell from extra. Builds quickshell, matugen (pre-compiled binary), and dgop from AUR using makepkg - no AUR helper needed. niri and hyprland are available in official repos.

If you're using archinstall, the minimal profile with NetworkManager for networking is a good starting point.

Fedora & Derivatives

Supported: Fedora, Nobara, Fedora Asahi Remix

Almost everything comes from official repos or COPR repositories (avengemedia/danklinux, avengemedia/dms, solopasha/hyprland, niri-wm/niri). Only dgop needs to be built from source with Go.

dankinstall is tested on Workstation Edition but should work fine on any Fedora flavor.

Ubuntu

Supported: Ubuntu 25.04+

Packages come from the DankLinux PPA (ppa:avengemedia/danklinux). Hyprland comes from ppa:cppiber/hyprland.

Debian

Supported: Debian 13+ (Trixie), Debian Testing, Debian Sid

Packages come from the DankLinux OBS repository. niri only - Debian doesn't have Hyprland packages yet.

openSUSE Tumbleweed

Good package availability out of the box. niri, hyprland, ghostty, and most tools are in standard repos. Additional packages come from the DankLinux OBS repository.

Gentoo

warning

Gentoo requires a systemd installation. OpenRC is not supported.

Special Notes:

Package Sources:

PackageSourceNotesSystem packages (git, etc.)Official reposVia emergeniriGURU overlayWith dbus and screencast USE flagshyprlandOfficial repos (GURU for -git)Depends on variant selection, with X USE flagquickshellGURU overlayAlways uses live ebuild (** keywords), full feature setmatugenGURU overlayColor generation toolcliphistGURU overlayClipboard managerxdg-desktop-portal-gtkOfficial reposWith wayland and X USE flagsmate-polkitOfficial reposPolicyKit authentication agentaccountsserviceOfficial reposUser account managementdgopManualBuilt from source with Goxwayland-satelliteManualFor niri X11 app supportDankMaterialShellManualGit clone to ~/.config/quickshell/dms

Global USE Flags: dbus udev alsa policykit jpeg png webp gif tiff svg brotli gdbm accessibility gtk qt6 egl gbm

Package-Specific USE Flags:

What About Manual Building?

Most distros now have pre-built packages via the DankLinux Repository. The installer handles any remaining builds automatically:

Managing Your Setup

dankinstall configures DMS as a systemd user service by default. The shell starts automatically when you log in - no need to add anything to your compositor config.

# Restart the shell (works with both systemd and manual setups)
dms restart

# Check service status
systemctl --user status dms

# View logs
journalctl --user -u dms -f

# Interactive management TUI
dms

# Send IPC commands to running shell
dms ipc <command>
tip

See Managing Your Installation for details on switching between systemd and manual startup, environment variable configuration, and more.

Environment Variables

dankinstall creates ~/.config/environment.d/90-dms.conf with environment variables for Qt/GTK theming and Wayland compatibility. If you need to change Qt platform theming (e.g., switching from gtk3 to qt6ct), edit this file and log out/in for changes to take effect.

You can also run systemctl --user edit dms and add Environment=VAR=Value lines under [Service]. This only affects DMS and apps it launches, whereas 90-dms.conf applies to all user sessions.