{ config, lib, ... }: let # Merge our session variable into any existing ones, if present. existingSessionVars = config.home.sessionVariables or {}; sessionVars = existingSessionVars // { # Prepend snap desktop dir so snap-provided .desktop files are discovered by desktop environments. # We include `$XDG_DATA_DIRS` to preserve any previously-set value at runtime. XDG_DATA_DIRS = "/var/lib/snapd/desktop:$XDG_DATA_DIRS"; }; in { config = { # Use mkForce to ensure this module's value takes precedence when modules are merged. home.sessionVariables = lib.mkForce sessionVars; }; }