- repos = mkOption {
- description = ''
- Git repositories to pull before running pinch. These are maintained
- as git checkouts at specified places in the filesystem with specified
- ownership rather than kept read-only in the nix store so that humans
- can use them both as points of intervention in the automation and to
- author and push changes back up.
- '';
- type = types.attrsOf (types.submodule {
- options = {
- url = mkOption {
- description = "Remote git repo.";
- type = types.str;
- };
- remoteName = mkOption {
- description = ''Name of the git remote. Customarily "origin".'';
- type = types.str;
- default = "origin";
- };
- onRemoteURLMismatch = mkOption {
- description = ''
- What to do if the remote URL in the git repo doesn't match the
- URL configured here.
- '';
- type = types.enum [ "update" "abort" ];
- default = "update";
- };
- onBranchMismatch = mkOption {
- description = ''
- What to do if a different branch is currently checked out.
+ repos = mkOption {
+ description = ''
+ Git repositories to pull before running pinch. These are maintained
+ as git checkouts at specified places in the filesystem with specified
+ ownership rather than kept read-only in the nix store so that humans
+ can use them both as points of intervention in the automation and to
+ author and push changes back up.
+ '';
+ default = { };
+ type = types.attrsOf (
+ types.submodule {
+ options = {
+ url = mkOption {
+ description = "Remote git repo.";
+ type = types.str;
+ };
+ remoteName = mkOption {
+ description = ''Name of the git remote. Customarily "origin".'';
+ type = types.str;
+ default = "origin";
+ };
+ onRemoteURLMismatch = mkOption {
+ description = ''
+ What to do if the remote URL in the git repo doesn't match the
+ URL configured here.
+ '';
+ type = types.enum [
+ "update"
+ "abort"
+ ];
+ default = "update";
+ };
+ onBranchMismatch = mkOption {
+ description = ''
+ What to do if a different branch is currently checked out.