diff --git a/modules/misc/xdg-user-dirs.nix b/modules/misc/xdg-user-dirs.nix index b50503945..181d6c10b 100644 --- a/modules/misc/xdg-user-dirs.nix +++ b/modules/misc/xdg-user-dirs.nix @@ -136,10 +136,21 @@ in setSessionVariables = mkOption { type = with types; bool; - default = lib.versionOlder config.home.stateVersion "26.05"; - defaultText = literalExpression '' - lib.versionOlder config.home.stateVersion "26.05" - ''; + inherit + (lib.hm.deprecations.mkStateVersionOptionDefault { + inherit (config.home) stateVersion; + since = "26.05"; + optionPath = [ + "xdg" + "userDirs" + "setSessionVariables" + ]; + legacy.value = true; + current.value = false; + }) + default + defaultText + ; description = '' Whether to set the XDG user dir environment variables, like `XDG_DESKTOP_DIR`. diff --git a/tests/modules/misc/xdg/default.nix b/tests/modules/misc/xdg/default.nix index 53ab57cd7..59606edc3 100644 --- a/tests/modules/misc/xdg/default.nix +++ b/tests/modules/misc/xdg/default.nix @@ -7,4 +7,6 @@ xdg-user-dirs-mixed = ./user-dirs-mixed.nix; xdg-user-dirs-null = ./user-dirs-null.nix; xdg-user-dirs-short = ./user-dirs-short.nix; + xdg-user-dirs-session-vars-legacy = ./user-dirs-session-vars-legacy.nix; + xdg-user-dirs-session-vars-current = ./user-dirs-session-vars-current.nix; } diff --git a/tests/modules/misc/xdg/user-dirs-session-vars-current.nix b/tests/modules/misc/xdg/user-dirs-session-vars-current.nix new file mode 100644 index 000000000..0373aeec9 --- /dev/null +++ b/tests/modules/misc/xdg/user-dirs-session-vars-current.nix @@ -0,0 +1,10 @@ +{ + home.stateVersion = "26.05"; + + xdg.userDirs.enable = true; + + nmt.script = '' + assertFileNotRegex home-path/etc/profile.d/hm-session-vars.sh \ + '^export XDG_DESKTOP_DIR=' + ''; +} diff --git a/tests/modules/misc/xdg/user-dirs-session-vars-legacy.nix b/tests/modules/misc/xdg/user-dirs-session-vars-legacy.nix new file mode 100644 index 000000000..4f3957b87 --- /dev/null +++ b/tests/modules/misc/xdg/user-dirs-session-vars-legacy.nix @@ -0,0 +1,10 @@ +{ + home.stateVersion = "25.11"; + + xdg.userDirs.enable = true; + + nmt.script = '' + assertFileContains home-path/etc/profile.d/hm-session-vars.sh \ + 'export XDG_DESKTOP_DIR="/home/hm-user/Desktop"' + ''; +}