{ lib, ... }:
  let
    inherit (lib)
      mkOption
      types
    ;
  in {
    defaultBranch = mkOption {
      type = types.nullOr types.str;
      description = "The name of the default branch in git.";
      default = null;
    };

    flow = {
      mainBranch = mkOption {
        type = types.nullOr types.str;
        description = "The name of the stable branch in git flow.";
        default = null;
      };

      devBranch = mkOption {
        type = types.nullOr types.str;
        description = "The name of the development branch in git flow.";
        default = null;
      };
    };

    aliases = mkOption {
      type = types.attrsOf types.str;
      description = "Git command aliases to install.";
      default = {};
    };
  }