Skip to content

Instantly share code, notes, and snippets.

@duyfken
Last active June 8, 2026 14:19
Show Gist options
  • Select an option

  • Save duyfken/4e0b429e1c2e9bd5e0d4a718f8e93f0a to your computer and use it in GitHub Desktop.

Select an option

Save duyfken/4e0b429e1c2e9bd5e0d4a718f8e93f0a to your computer and use it in GitHub Desktop.
Install DankMaterialShell or COSMIC on CentOS Stream 10 derivatives

DankMaterialShell & COSMIC install guide for EL10 derivatives

Note

Enterprise Linux 10 derivatives are made from CentOS Stream 10, which is the upstream/development version of Red Hat. The main derivatives are Rocky Linux and Almalinux, but there are other commercial derivatives such as Oracle Linux, EulerOS, EuroLinux, Miracle Linux and Red Hat itself.

This guide will only work on those EL10 derivatives as it uses Fedora COPRs specific to that Enterprise Linux major release.

Currently for Enterprise Linux 10 and their derivatives, we are severely limited in desktop choices due to them dropping X11 sessions and going Wayland only with EL10. GNOME is the only officially supported option (unsurprisingly given Fedora/Red Hat and GNOME's alignment with each other) and KDE Plasma is the only other option currently available in the Extra Packages for Enterprise Linux (EPEL).

Xfce, MATE and Cinnamon are progressing with their Wayland support, but are not quite there yet. But fear not, as there are other options that have surfaced. COSMIC is a well known alternative for Wayland (created by Pop!_OS creators System76 after they decided to split with GNOME) and DankMaterialShell is another option that has popped up to fill the current void. Read on for how to get them up and running pretty easily on the stable base of EL10.

Step 1. Download the Boot or Minimal ISO

For Rocky Linux 10 (Recommended), get the ISO from https://rockylinux.org/download

For AlmaLinux 10 (if you have an older x86_64v2 CPU), get the ISO from https://almalinux.org/get-almalinux/#x86_64_v2-10

Create a bootable USB drive with the ISO file using a tool like Etcher or Ventoy (Recommended).

Step 2: Install a Minimal system

If you are using a Boot ISO, your system will download the (latest) packages once installation begins. Make sure to select "Minimal Install" on the "Software Selection" screen.

If you are using a Minimal ISO, you won't be able to change the software selection as it only includes the Minimal packages. You'll get a Minimal system based on the point release (such as 10.2) you downloaded.

Reboot into your new system once installation is completed.

Step 3. Add the required CRB & EPEL repositories

sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release
sudo dnf update

Step 4. Add the COSMIC and DMS COPR repositories

Use one of the following commands to add the Enterprise COSMIC repo to your system based on what architecture your CPU is. Unfortunately if you're using a RISC-V CPU, your journey ends here as they are not supported by this repo.

We are going to add the Enterprise COSMIC repo whether you are installing DMS or COSMIC, as it also provides greetd which is used for the Greeter in both DMS and COSMIC, and greetd is still waiting to be built for EPEL10.

sudo dnf copr enable ligenix/enterprise-cosmic rhel+epel-10-aarch64
sudo dnf copr enable ligenix/enterprise-cosmic rhel+epel-10-ppc64le
sudo dnf copr enable ligenix/enterprise-cosmic rhel+epel-10-s390x
sudo dnf copr enable ligenix/enterprise-cosmic rhel+epel-10-x86_64

From here you can choose to continue to install just COSMIC by moving on to Step 5a.

Or if you want to install DMS, we'll need to install the DMS repo and the niri compositor repo, then move on to Step 5b.

sudo dnf copr enable avengemedia/dms
sudo dnf copr enable yalter/niri

Step 5a. Install COSMIC

Install COSMIC, enable the greetd service and edit the greetd config to use the COSMIC compositor and greeter.

sudo dnf install cosmic-desktop
systemctl enable greetd
sudo vi /etc/greetd/config.toml

Hit "I" to enter insert mode, then change command = to have the value "cosmic-comp /bin/cosmic-greeter" and user = to "cosmic-greeter". Hit Escape, then :wq to write the file and quit.

sudo reboot and you should be into your new COSMIC system.

Step 5b. Install DankMaterialShell

Now lets install dms as the shell, niri as the compositor, kitty as the shell and dms-greeter as the display manager.

sudo dnf install dms niri kitty dms-greeter
dms setup

Enable the dms service and makes sure it starts niri as it's compositor, then enable and sync the greeter config.

systemctl --user enable dms
systemctl --user add-wants niri.service dms
dms greeter enable
dms greeter sync

sudo reboot and you should be into your new DankMaterialShell system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment