Skip to main content

Desktop environments and window managers

The advanced CatOS installation configuration can select a desktop environment or window manager during installation. It currently provides 16 graphical choices, as well as No Desktop for a base system without a graphical interface.

The customization depth is not identical for every option. Some desktops have dedicated CatOS configuration repositories, while others primarily use upstream defaults together with shared CatOS GTK, icon, font, or common-tool settings.

Complete desktop environments

ChoiceIntended useCatOS customization
KDE PlasmaA complete and highly customizable Qt desktop; the current defaultDedicated KDE settings and KDE theme repositories
GNOMEA modern desktop focused on consistency and an integrated workflowDedicated GNOME settings, plus shared GTK settings
Deepin DesktopA complete desktop with tightly integrated componentsPrimarily upstream Deepin components and installer presets
XfceA traditional desktop with relatively low resource usageDedicated Xfce settings, plus shared GTK configuration
CinnamonA familiar, traditional desktop based on GTKPrimarily upstream components and shared GTK configuration
COSMICA modern Wayland desktop written primarily in RustPrimarily upstream components and installer presets
BudgieA clean and approachable GTK desktopPrimarily upstream components and shared GTK configuration
LXDEA minimal X11 desktop for low-resource systemsPrimarily upstream components and installer presets
LXQtA lightweight Qt desktop with a classic layoutPrimarily upstream components and installer presets
MATEA traditional desktop continuing the GNOME 2 workflowPrimarily upstream components and shared GTK configuration

Wayland desktops and window managers

ChoiceIntended useCatOS customization
Niri + DMSA scrolling tiling Wayland desktop using Dank Material ShellUses the dedicated catos-niri-dms Catdot Profile for Niri, portals, the GTK baseline, and desktop tools
Niri + NoctaliaA scrolling tiling Wayland desktop using Noctalia ShellUses the dedicated catos-niri-noctaliav5 Catdot Profile and can use Noctalia Greeter
Hyprland + DMSA dynamic tiling Wayland desktop using Dank Material ShellAssembled by the installer from Hyprland, DMS, and common desktop components; dedicated customization is still being organized
SwayA stable, keyboard-driven tiling Wayland environmentUses the dedicated Sway settings Catdot Profile, plus Waybar settings
LabwcA lightweight floating Wayland desktop inspired by OpenboxUses the dedicated Labwc settings Catdot Profile, plus shared Waybar configuration
WayfireA lightweight floating Wayland environment with desktop effectsUses the dedicated Wayfire settings Catdot Profile

Niri + DMS

Niri manages scrolling-tiling windows and workspaces, while Dank Material Shell (DMS) provides the launcher, settings, notifications, clipboard, lock screen, wallpaper controls, and other shell functions. The current CatOS repository delivers this setup through the catos-niri-dms Profile, with Catdot managing distribution-owned user configuration.

Check or reselect the Profile with:

catdot current
catdot select catos-niri-dms

Catdot manages the main Niri configuration, CatOS baseline modules, environment configuration, and portal configuration, including:

~/.config/niri/config.kdl
~/.config/niri/catos/
~/.config/environment.d/80-catos-niri.conf
~/.config/xdg-desktop-portal/niri-portals.conf

Long-term personal configuration belongs in the one-time seed files created on first Profile activation:

~/.config/niri/custom/catos-niri-dms/input.kdl
~/.config/niri/custom/catos-niri-dms/outputs.kdl
~/.config/niri/custom/catos-niri-dms/rules.kdl

Use them for input devices, displays, and personal window rules respectively. List display names and modes with niri msg outputs. Avoid keeping personal changes under ~/.config/niri/catos/, which is part of the distribution baseline.

Common defaults:

ActionNiri + DMS
DMS launcherMod + Space
GhosttyMod + T
DMS settingsMod + ,
ClipboardMod + V
OverviewMod + O / Mod + Tab
Close windowMod + Q
Move focusMod + arrows / H/J/K/L
WorkspacesMod + 19
ScreenshotsPrint / Ctrl + Print / Alt + Print

Explicitly accept a newer managed Profile revision with:

catdot update catos-niri-dms

Catdot backs up managed files before replacement and does not overwrite the seed files. The Profile also configures Niri's XDG Desktop Portal and xwayland-satellite; see Distinguishing Wayland, X11, and XWayland for screen-sharing or legacy-X11 problems.

Niri + Noctalia

Niri + Noctalia uses the same Niri window model while Noctalia provides the panel, launcher, control center, notifications, clipboard, theming, and other shell functions. The current CatOS repository delivers it through the catos-niri-noctaliav5 Profile.

catdot current
catdot select catos-niri-noctaliav5

The currently published Profile manages:

~/.config/niri/config.kdl
~/.config/niri/noctalia.kdl
~/.config/niri/noctalia/
~/.config/noctalia/config.toml
~/.config/xdg-desktop-portal/niri-portals.conf

Unlike the DMS Profile, the currently published Noctalia Profile does not expose input.kdl, outputs.kdl, and rules.kdl as stable user seed interfaces. Direct edits to managed Niri files may need to be merged manually after a future catdot update; Catdot creates a backup before replacement.

Common defaults:

ActionNiri + Noctalia
Noctalia control centerMod + S
Noctalia settingsMod + ,
Noctalia clipboardMod + V
Window switcherAlt + Tab
KittyMod + T
Niri overviewMod + O
Close windowMod + Q
WorkspacesMod + 19
Niri hotkey overlayMod + Shift + /

Accept a newer Profile revision with:

catdot update catos-niri-noctaliav5

If the system uses Noctalia Greeter, it is a login-stage component; the Noctalia shell inside the desktop session is separate. Input-method, screen-sharing, and XWayland problems are covered in Display protocol troubleshooting.

Rolling-release documentation

The Niri behavior above tracks the currently published packages in the CatOS repositories. Later Git commits are not documented as user-visible behavior until they are packaged and published.

No Desktop

Selecting No Desktop installs a command-line system without a graphical environment. It is useful for:

  • building a desktop or window-manager setup from scratch;
  • development machines, test environments, or lightweight servers;
  • users who only want the CatOS installer, repositories, and base-system integration.

No Desktop does not indicate an incomplete installation. Any desktop components can be installed afterwards with pacman or the AUR.

Choosing a desktop

  • For the most complete default experience and the broadest customization options, choose KDE Plasma.
  • For a focused and consistent workflow, choose GNOME.
  • For lower-resource systems or a traditional desktop, choose Xfce, LXQt, LXDE, or MATE.
  • For a modern scrolling tiling workflow, choose Niri + DMS or Niri + Noctalia.
  • For a keyboard-driven tiling environment, choose Sway.
  • For a lightweight floating Wayland desktop, choose Labwc or Wayfire.
  • For complete manual control, choose No Desktop.
Before choosing

Upstream maturity, hardware compatibility, and CatOS customization depth differ between desktops. KDE Plasma is the default choice. The availability of other options provides flexibility, but does not imply identical test coverage or feature completeness for every desktop.

Contributing to CatOS desktop customization

All public projects are available in the CatOS-dev GitHub organization. Contributions are welcome for improving defaults, fixing compatibility issues, or creating complete CatOS presets for desktops that do not yet have dedicated repositories.

Useful entry points:

A new or modified desktop preset should document its package set, display manager, XDG portal, session files, default applications, and removal boundaries to avoid file conflicts or leftover configuration between desktop choices.