nixfiles/modules/home/files-force.nix

26 lines
575 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);
};
}