# Catppuccin for SDDM: a pastel login screen for your display manager

> The Catppuccin SDDM theme repaints the graphical login screen in the four Catppuccin flavours ships as prebuilt zip files per flavour and accent, and can be overridden attribute by attribute from NixOS configuration.

**catppuccin/sddm** —  🔒 Soothing pastel theme for SDDM

- Repository: https://github.com/catppuccin/sddm
- Stars: 530 · Forks: 23
- Language: Just
- License: MIT
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/catppuccin-sddm

## What the project is, and what it is not

Catppuccin for SDDM is a soothing pastel theme for SDDM, the Simple Desktop Display Manager, and the repository is part of the Catppuccin organisation, which colours a great many pieces of software. The scope is a login screen and nothing more. The primary language is listed as Just, which is a hint about how the theme is produced, since the repository carries a justfile, and the whole thing is built from templates with the assets and the source tree at the top level. The licence is MIT, the last push was on 2026-06-18, and the release history shows v1.1.2 from 2025-08-16, v1.1.1 from July 2025 and v1.1.0 from June 2025, so the versions move slowly, which is what you would expect from something whose output is a set of images and a QML theme.

## Flavours and accents, and how many previews you get

The readme shows one preview per flavour rather than one per combination, and there are four flavours. Latte is the light one, Frappé is the muted one, Macchiato is the mid-tone one and Mocha is the dark one. Each flavour is combined with an accent, and the accent is what colours the interactive elements, the buttons, the selection highlight and the text field borders, while the flavour decides the base palette. The downloads follow the same structure, since the usage steps tell you to download your chosen flavour and accent zip file from the latest GitHub release, and the example that appears later in the instructions is the combination catppuccin-mocha-mauve. That naming convention, flavour then accent, is what you will use in the configuration file as well.

## Installing the theme, step by step

The usage section is five steps. First, ensure you have installed the dependencies for your operating system, which are covered below. Second, download your chosen flavour and accent zip file from the latest GitHub release. Third, unzip the file and move the resulting directory into /usr/share/sddm/themes, and the example given is for catppuccin-mocha-mauve.

```bash
    sudo mv -v catppuccin-mocha-mauve /usr/share/sddm/themes
```

Fourth, edit the /etc/sddm.conf file and change the theme to catppuccin with the flavour and accent in the name. If you do not have that file, create it and add the two lines below.

```conf
   [Theme]
   Current=catppuccin-mocha-mauve
```

And fifth is the caveat that catches people out. Unfortunately, the theme does not work properly if SDDM is run on X11 and not Wayland, and the project links to the Wayland instructions in the Arch wiki for SDDM if there are issues. That is a session-level problem rather than a theme problem, since the QML the theme uses expects a Wayland compositor under SDDM, so on X11 the panel renders incorrectly rather than the theme failing outright.

## The dependencies, per distribution

The theme needs the Qt Quick modules that SDDM's QML is built on, and the list differs by distribution because the package names do. On Arch based systems the packages are qt6-svg, qt6-declarative and qt5-quickcontrols2.

```bash
pacman -Syu qt6-svg qt6-declarative qt5-quickcontrols2
```

On Debian based systems the list is longer because the QML modules are packaged individually.

```bash
apt install --no-install-recommends qml-module-qtquick-layouts qml-module-qtquick-controls2 qml-module-qtquick-window2 libqt6svg6
```

RPM based systems need two packages.

```bash
dnf install qt6-qtquickcontrols2 qt6-qtsvg
```

And Solus needs its own two.

```bash
eopkg install qt6-quickcontrols2 qt6-svg
```

The two distribution lists look inconsistent until you notice that the Debian one installs the individual QML modules, while the others install a package that pulls them in. The common denominator across all four is the same set of underlying modules, so a distro with different package names is not a problem the project has solved.

## The NixOS route, where the theme is a configuration attribute

On NixOS the theme is available in nixpkgs as catppuccin-sddm, and the point of that route is that you do not install a zip file at all. You add the package to systemPackages and customise it by overriding attributes.

```nix
environment.systemPackages = [(
  pkgs.catppuccin-sddm.override {
    flavor = "mocha";
    accent = "mauve";
    font  = "Noto Sans";
    fontSize = "9";
    background = "${./wallpaper.png}";
    loginBackground = true;
  }
)];
```

Then you set it as the theme in the sddm configuration, changing the suffix to the flavour and accent you set in the package override.

```nix
displayManager.sddm = {
  enable = true;
  theme = "catppuccin-mocha-mauve";
  package = pkgs.kdePackages.sddm;
};
```

Two things are worth noting about that snippet. The theme name in the displayManager block still has to match the flavour and accent you chose, so the two places have to agree, and the sddm package itself comes from the KDE package set rather than being pinned here.

## The configuration keys, and what each one does

The theme exposes seven settings, and the descriptions are short enough to read as a checklist of what you might want to change. Font is the chosen font, and FontSize is the text size. ClockEnabled controls whether the clock is on or off and should be set to either true or false. CustomBackground, when it is true, reads from Background to render a custom background image, and it should also be set to either true or false. Background is the location of that image, with the recommendation to use the provided backgrounds/ directory to store the images. LoginBackground is an extra background around the login panel, again true or false. UserIcon, when set to true, displays the user icon, and it too should be set to either true or false. The background and the login background are separate keys, which is worth noting because they are easy to confuse, since one is behind the whole screen and the other is a frame around the panel.

## How the build works, and how the archives are produced

The repository carries a justfile, which is where the build lives, and it is a small file that explains the whole pipeline. The clean target removes the./themes and./zips directories. The build target depends on clean and runs a shell script that iterates over every template found under./templates with the.tera extension and renders each one with whiskers, then loops over the flavours and the accents that whiskers lists and copies the contents of./src into a directory named catppuccin with the flavour and accent appended. The latte flavour is handled separately, because it uses a different default icon, assets/defaultIconLight.png, while the other three use assets/defaultIcon.png, and each flavour also gets its preview image copied in as preview.png. The zip target depends on build, creates the zips directory, and for each theme directory that contains a theme.conf it creates a zip named after the theme with the sddm suffix. The whiskers template engine and the flavour and accent lists are the reason the project can offer every flavour and accent combination without a hand-written file per combination.

## Conclusion

Catppuccin SDDM fits a Linux user who wants their login screen to match the rest of their desktop, especially on a machine where the login screen is the first thing they see every day, and it fits a NixOS user who would rather declare the flavour and accent in their configuration than unzip an archive. It does not fit a user on X11, because the project states plainly that the theme does not work properly if SDDM is run on X11 and not Wayland. It also does not fit someone who expects the four flavours to be interchangeable in every setting, since each flavour and accent pair is a separate build and a separate download. Before you install, install the Qt dependencies for your distribution, copy the theme directory into /usr/share/sddm/themes, set the theme name in /etc/sddm.conf, and if you are on X11 follow the Wayland instructions before you judge the result.

## FAQ

### How do I install the Catppuccin SDDM theme?

Install the Qt dependencies for your distribution, download the zip for your chosen flavour and accent from the latest GitHub release, unzip it and move the resulting directory into /usr/share/sddm/themes, then edit /etc/sddm.conf and set the theme to catppuccin with the flavour and accent in the name, for example catppuccin-mocha-mauve.

### Does the theme work on X11?

Not properly. The project states that the theme does not work properly if SDDM is run on X11 and not Wayland, and points to the Wayland instructions in the Arch wiki for SDDM if there are issues.

### Which flavours and accents are available?

Four flavours are shown in the previews, Latte, Frappé, Macchiato and Mocha, and each is combined with an accent. The naming convention is flavour then accent, as in catppuccin-mocha-mauve, and the release downloads are a separate zip file per flavour and accent combination.

### How do I use it on NixOS?

The theme is available in nixpkgs as catppuccin-sddm. Add it to systemPackages and override the attributes such as flavor, accent, font, fontSize, background and loginBackground, then set the theme in the displayManager.sddm block to the same flavour and accent you chose in the override.

## Sources

- [catppuccin/sddm on GitHub](https://github.com/catppuccin/sddm)
- [Issues](https://github.com/catppuccin/sddm/issues)
- [License: MIT](https://github.com/catppuccin/sddm/blob/main/LICENSE)
- [README](https://github.com/catppuccin/sddm/blob/main/README.md)
- [Releases](https://github.com/catppuccin/sddm/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/catppuccin-sddm
