nixfiles/modules/home/files-force.nix
2025-07-14 08:55:51 -07:00

27 lines
590 B
Nix

{
config,
options,
lib,
...
}: let
inherit (lib.types) attrsOf submodule;
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.modules) mkDefault;
inherit (lib.attrsets) genAttrs;
fileOption = mkOption {
type = attrsOf (submodule (
_: {
config.force = mkDefault config.home.clobberAllFiles;
}
));
};
in {
options = {
home = {
clobberAllFiles = mkEnableOption "clobbering all files";
file = fileOption;
};
xdg = genAttrs [ "configFile" "cacheFile" "stateFile" "dataFile" ] (_: fileOption);
};
}