diff --git a/modules/desktop.nix b/modules/desktop.nix index f1bf596..8ac3984 100644 --- a/modules/desktop.nix +++ b/modules/desktop.nix @@ -408,9 +408,8 @@ in environment.sessionVariables.QT_STYLE_OVERRIDE = "kvantum"; # Same gap, cursors: niri's cursor block reaches xwayland-satellite, so X11 - # clients have a themed pointer available, but Steam is started by the user - # manager and arrives with XCURSOR_PATH alone. Xcursor then falls back to - # ~/.icons/default, which does not exist here, and draws the core theme. + # clients have a themed pointer available, but everything under the user + # manager arrives with XCURSOR_PATH alone and has no theme name to look up. # The name matches modules/greetd.nix, so greeter and session agree. environment.sessionVariables.XCURSOR_THEME = "Sweet-cursors"; environment.sessionVariables.XCURSOR_SIZE = "24"; @@ -429,5 +428,13 @@ in # otherwise ignore the monitor.kdl it writes next to it. "C %h/.config/niri/config.kdl 0644 - - - ${niriUserConfig}" "C %h/.zshrc 0644 - - - ${userZshrc}" + # Steam gets XCURSOR_THEME from the block above — verified in its own + # environment — and still drew the core pointer, so parts of it resolve the + # theme literally named 'default' rather than the variable. Xcursor looks + # that name up along XCURSOR_PATH like any other, and ~/.icons is first, + # so pointing it at the theme covers those lookups too. 'L+' replaces the + # link on every activation, unlike the 'C' rules above, which keeps it + # following the theme instead of freezing at today's one. + "L+ %h/.icons/default - - - - /run/current-system/sw/share/icons/Sweet-cursors" ]; }