Skip to main content
Version: 1.4
██████╗  █████╗ ███╗   ██╗██╗  ██╗ ██████╗ ██████╗ ███████╗███████╗████████╗
██╔══██╗██╔══██╗████╗  ██║██║ ██╔╝██╔════╝ ██╔══██╗██╔════╝██╔════╝╚══██╔══╝
██║  ██║███████║██╔██╗ ██║█████╔╝ ██║  ███╗██████╔╝█████╗  █████╗     ██║
██║  ██║██╔══██║██║╚██╗██║██╔═██╗ ██║   ██║██╔══██╗██╔══╝  ██╔══╝     ██║
██████╔╝██║  ██║██║ ╚████║██║  ██╗╚██████╔╝██║  ██║███████╗███████╗   ██║
╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝   ╚═╝
                                                                          

Installation

Installation Methods

Already have the DankLinux repository?

If DMS or another DankLinux package is already installed, the repository is already configured. The simplest option is:

dms greeter install

This installs the package and handles all configuration automatically.

⚠️ This replaces your current display manager.

Or install the package manually and proceed to Completing Setup:

  • Arch: paru -S greetd-dms-greeter-git or yay -S greetd-dms-greeter-git (requires paru or yay for dms greeter install)
  • Fedora: sudo dnf install dms-greeter
  • Debian/Ubuntu: sudo apt install dms-greeter
  • openSUSE: sudo zypper install dms-greeter

Distro Installation

Arch Linux (AUR)

paru -S greetd-dms-greeter-git
# Or with yay
yay -S greetd-dms-greeter-git

After installation, proceed to Completing Setup below.

Fedora

sudo dnf copr enable avengemedia/danklinux
sudo dnf install dms-greeter

After installation, proceed to Completing Setup below.

Debian

Debian 13 (Trixie):

curl -fsSL https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/Debian_13/Release.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/danklinux.gpg
echo "deb [signed-by=/etc/apt/keyrings/danklinux.gpg] https://download.opensuse.org/repositories/home:/AvengeMedia:/danklinux/Debian_13/ /" | \
sudo tee /etc/apt/sources.list.d/danklinux.list
sudo apt update
sudo apt install dms-greeter

Debian Testing:

curl -fsSL https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/Debian_Testing/Release.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/danklinux.gpg
echo "deb [signed-by=/etc/apt/keyrings/danklinux.gpg] https://download.opensuse.org/repositories/home:/AvengeMedia:/danklinux/Debian_Testing/ /" | \
sudo tee /etc/apt/sources.list.d/danklinux.list
sudo apt update
sudo apt install dms-greeter

Debian Sid (Unstable):

curl -fsSL https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/Debian_Unstable/Release.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/danklinux.gpg
echo "deb [signed-by=/etc/apt/keyrings/danklinux.gpg] https://download.opensuse.org/repositories/home:/AvengeMedia:/danklinux/Debian_Unstable/ /" | \
sudo tee /etc/apt/sources.list.d/danklinux.list
sudo apt update
sudo apt install dms-greeter

After installation, proceed to Completing Setup below.

Ubuntu

sudo add-apt-repository ppa:avengemedia/danklinux
sudo apt update
sudo apt install dms-greeter

After installation, proceed to Completing Setup below.

openSUSE

Tumbleweed:

sudo zypper addrepo https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/openSUSE_Tumbleweed/home:AvengeMedia:danklinux.repo
sudo zypper refresh
sudo zypper install dms-greeter

Leap 16:

sudo zypper addrepo https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/16.0/home:AvengeMedia:danklinux.repo
sudo zypper refresh
sudo zypper install dms-greeter

Leap 16.1:

sudo zypper addrepo https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/16.1/home:AvengeMedia:danklinux.repo
sudo zypper refresh
sudo zypper install dms-greeter

Slowroll:

sudo zypper addrepo https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/openSUSE_Slowroll/home:AvengeMedia:danklinux.repo
sudo zypper refresh
sudo zypper install dms-greeter

After installation, proceed to Completing Setup below.

Gentoo

note

DMS must already be installed on your system before running this command. The greeter wrapper is sourced from your local DMS installation.

dms greeter install

This will automatically install greetd via Portage, copy the greeter wrapper from your local DMS installation, configure permissions, and set up greetd to use DMS. To start the greeter immediately without rebooting, run sudo systemctl start greetd.

NixOS

tip

NixOS has dedicated documentation with two installation methods:

Installer & Manual Installation

DankInstall Users

(Niri and Hyprland users only)

dms-greeter is an opt-in component in the DankInstaller. It can be toggled on during the installation process, but is skipped by default to ensure users consciously choose to enable it (since it replaces your current display manager).

If you enable dms-greeter in DankInstall, the full greeter setup (permissions, ACLs, greetd configuration, service enablement) runs automatically at the end of the install process. No further steps are required.

If you skipped it during dankinstall and want to add it later, install the package for your distro (see the sections above) and then proceed to Completing Setup.

warning

Enabling dms-greeter will replace your current display manager.

Manual installation (DMS already installed)

If you already have DMS installed but need to set up the greeter manually, install greetd and then the greeter wrapper:

sudo wget https://raw.githubusercontent.com/AvengeMedia/DankMaterialShell/refs/heads/master/quickshell/Modules/Greetd/assets/dms-greeter -O /usr/local/bin/dms-greeter
sudo chmod +x /usr/local/bin/dms-greeter

Then proceed to Completing Setup below, using the following command in /etc/greetd/config.toml:

command = "dms-greeter --command niri -p /usr/share/quickshell/dms"

Manual installation (without DMS)

For non-dankinstall users without DMS, install greetd, quickshell, and then the greeter:

sudo mkdir -p /etc/xdg/quickshell
sudo git clone https://github.com/AvengeMedia/DankMaterialShell.git /etc/xdg/quickshell/dms-greeter
sudo mkdir /var/cache/dms-greeter
sudo chown greeter:greeter /var/cache/dms-greeter
note

Some distributions may have different user/group names for the greetd user.

Prerequisites for Theme Syncing

ACLs (Access Control Lists) are required to allow the greeter user to traverse your home directory and access configuration files. The acl package is installed automatically when you run dms greeter sync or dms greeter install, so no manual action is needed on supported distributions.

Completing Setup

If you used dms greeter install

This applies to any distro where you ran dms greeter install, including Arch Linux (requires paru or yay), Ubuntu, Fedora, Debian, openSUSE, and Gentoo.

Configuration, permissions, theme syncing, and greetd service enablement are all handled automatically. To start the greeter immediately without rebooting:

sudo systemctl start greetd

You can verify your setup at any time with dms greeter status. dms greeter sync can be re-run after theme changes.

If you installed the package manually

This applies to: Arch Linux, and any other distro where you installed the package manually using the commands above.

After installing the package, run these two commands to complete setup:

1. Enable the Greeter

dms greeter enable

This will:

  • Configure /etc/greetd/config.toml with the correct compositor command
  • Disable conflicting display managers (gdm, lightdm, sddm)
  • Enable and start the greetd service

2. Sync with Your User Theme

dms greeter sync

This will:

  • Install acl (if not already installed)
  • Add your user to the greeter group (if needed)
  • Set up ACL permissions on parent directories for greeter access
  • Configure group permissions on DMS config directories
  • Create symlinks to sync settings, wallpapers, and color themes
note

After running dms greeter sync, you will need to log out and log back in for group membership changes to take effect.

note

NixOS users: The dms greeter enable and dms greeter sync commands are not available on NixOS. Please follow the manual steps below or see the NixOS installation guides.

For all users

You can check your greeter configuration at any time:

dms greeter status

This verifies your greeter setup and sync status. See the Configuration guide for detailed information.


Manual Setup (all distros)

If you prefer to set up the greeter manually, follow these steps:

tip

All users: You can use dms greeter enable to automate this process instead of following the manual steps below.

  1. Edit /etc/greetd/config.toml and set command = to use dms-greeter:
[terminal]
vt = 1

[default_session]
user = "greeter"
command = "dms-greeter --command niri"
### Uncomment the below line to run the greeter on Hyprland
# command = "dms-greeter --command Hyprland"
### Uncomment to run the greeter on sway
# command = "dms-greeter --command sway"
### Uncomment to run the greeter on Miracle WM
# command = "dms-greeter --command miracle-wm"
  1. Disable any existing conflicting greeters:
warning

Disabling a greeter while logged in under that greeter will log you out and bring you to a non-graphical TTY.

sudo systemctl disable gdm lightdm sddm
  1. Enable and start the greeter:
sudo systemctl enable greetd
sudo systemctl start greetd