diff --git a/modules/misc/xdg.nix b/modules/misc/xdg.nix index 1790b87dc..5961cac39 100644 --- a/modules/misc/xdg.nix +++ b/modules/misc/xdg.nix @@ -108,7 +108,7 @@ in { xdg.cacheHome = mkDefault defaultCacheHome; xdg.configHome = mkDefault defaultConfigHome; xdg.dataHome = mkDefault defaultDataHome; - xdg.stateHome = mkDefault stateHome; + xdg.stateHome = mkDefault defaultStateHome; }) { diff --git a/tests/modules/misc/xdg/default-locations.nix b/tests/modules/misc/xdg/default-locations.nix new file mode 100644 index 000000000..1f6b36cc8 --- /dev/null +++ b/tests/modules/misc/xdg/default-locations.nix @@ -0,0 +1,35 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + config = { + # Test fallback behavior for stateVersion >= 20.09, which is pure. + xdg.enable = lib.mkForce false; + home.stateVersion = "20.09"; + + xdg.configFile.test.text = "config"; + xdg.dataFile.test.text = "data"; + home.file."${config.xdg.cacheHome}/test".text = "cache"; + home.file."${config.xdg.stateHome}/test".text = "state"; + + nmt.script = '' + assertFileExists home-files/.config/test + assertFileExists home-files/.local/share/test + assertFileExists home-files/.cache/test + assertFileExists home-files/.local/state/test + assertFileContent \ + home-files/.config/test \ + ${builtins.toFile "test" "config"} + assertFileContent \ + home-files/.local/share/test \ + ${builtins.toFile "test" "data"} + assertFileContent \ + home-files/.cache/test \ + ${builtins.toFile "test" "cache"} + assertFileContent \ + home-files/.local/state/test \ + ${builtins.toFile "test" "state"} + ''; + }; +} diff --git a/tests/modules/misc/xdg/default.nix b/tests/modules/misc/xdg/default.nix index e3104dd9c..f3fef0929 100644 --- a/tests/modules/misc/xdg/default.nix +++ b/tests/modules/misc/xdg/default.nix @@ -3,4 +3,5 @@ xdg-system-dirs = ./system-dirs.nix; xdg-desktop-entries = ./desktop-entries.nix; xdg-file-gen = ./file-gen.nix; + xdg-default-locations = ./default-locations.nix; }