diff --git a/modules/home-manager/fetch-mutable-files.nix b/modules/home-manager/fetch-mutable-files.nix new file mode 100644 index 0000000..9c66e05 --- /dev/null +++ b/modules/home-manager/fetch-mutable-files.nix @@ -0,0 +1,33 @@ +{ 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 = { + }; + }; +}