diff --git a/modules/misc/xdg.nix b/modules/misc/xdg.nix index 7420e8e9..f207d7d3 100644 --- a/modules/misc/xdg.nix +++ b/modules/misc/xdg.nix @@ -101,11 +101,13 @@ in { home.file = mkMerge [ - cfg.configFile - cfg.dataFile - { - "${config.xdg.cacheHome}/.keep".text = ""; - } + (mapAttrs' + (name: file: nameValuePair "${config.xdg.configHome}/${name}" file) + cfg.configFile) + (mapAttrs' + (name: file: nameValuePair "${config.xdg.dataHome}/${name}" file) + cfg.dataFile) + { "${config.xdg.cacheHome}/.keep".text = ""; } ]; } ]; diff --git a/tests/modules/misc/xdg/default.nix b/tests/modules/misc/xdg/default.nix index e5d01575..813a2520 100644 --- a/tests/modules/misc/xdg/default.nix +++ b/tests/modules/misc/xdg/default.nix @@ -1 +1,4 @@ -{ xdg-mime-apps-basics = ./mime-apps-basics.nix; } +{ + xdg-mime-apps-basics = ./mime-apps-basics.nix; + xdg-file-attr-names = ./file-attr-names.nix; +} diff --git a/tests/modules/misc/xdg/file-attr-names.nix b/tests/modules/misc/xdg/file-attr-names.nix new file mode 100644 index 00000000..0aa8fcff --- /dev/null +++ b/tests/modules/misc/xdg/file-attr-names.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + config = { + xdg.configFile.test.text = "config"; + xdg.dataFile.test.text = "data"; + home.file.test.text = "home"; + + nmt.script = '' + assertFileExists home-files/.config/test + assertFileExists home-files/.local/share/test + assertFileExists home-files/test + assertFileContent \ + home-files/.config/test \ + ${builtins.toFile "test" "config"} + assertFileContent \ + home-files/.local/share/test \ + ${builtins.toFile "test" "data"} + assertFileContent \ + home-files/test \ + ${builtins.toFile "test" "home"} + ''; + }; +}