{ config, options, lib, pkgs, ... }: let cfg = config.home.mutableFiles; file = { config, name, ... }: { }; in { options.home.mutableFile = lib.mkOption { type = with lib.types; attrsOf (submodule file); default = { }; description = lib.mkDoc '' An attribute set of mutable files and directories to be fetched into the home directory. ''; example = lib.literalExpression '' "''${config.xdg.userDirs.documents}/dotfiles" = { url = "https://github.com/foo-dogsquared/dotfiles.git"; type = "git"; }; "''${config.xdg.userDirs.documents}/top-secret" = { url = "https://example.com/file.zip"; type = "fetch"; }; ''; }; config = { systemd.user.services.fetch-mutable-files = { }; }; }