UWSM

Revision as of 03:48, 13 December 2025 by Phobos (talk | contribs) (Initial Page creation for UWSM)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

UWSM (Universal Wayland Session Manager), wraps standalone Wayland compositors with a set of Systemd units on the fly. This essentially binds the Wayland compositor into graphical-session-pre.target, graphical-session.target, xdg-desktop-autostart.target.

This is useful for Wayland compositors like Hyprland, Sway, Wayfire, etc. that do not start these targets and services on their own.

Additional information may be found on the UWSM Github, or the Arch Wiki page.

Installation

Options may be found under programs.uwsm in Nix options. An example using Sway with UWSM:

❄︎ /etc/nixos/configuration.nix
programs.uwsm = {
  enable = true;
  # You must configure the waylandCompositors suboptions so that UWSM knows which compositors to manage. 
  waylandCompositors = {
    sway = {
      prettyName = "Sway";
      comment = "Sway compositor managed by UWSM";
      binPath = "/run/current-system/sw/bin/sway";
    };
  };
};
Note: This by default uses dbus-broker as the dbus implementation for better compatibility. If you dislike this behavior you may set services.dbus.implementation = lib.mkForce "dbus" in your configuration.

Hyprland

Additional information may be found on the Hyprland page.