docs: def add_group(group_name, system_group=False, gid=None):
      """Add a group to the system
  
      Will log but otherwise succeed if the group already exists.
  
      :param str group_name: group to create
      :param bool system_group: Create system group
      :param int gid: GID for user being created
  
      :returns: The password database entry struct, as returned by `grp.getgrnam`
      """
      try:
          group_info = grp.getgrnam(group_name)
          log('group {0} already exists!'.format(group_name))
          if gid:
              group_info = grp.getgrgid(gid)
              log('group with gid {0} already exists!'.format(gid))
      except KeyError:
          log('creating group {0}'.format(group_name))
          add_new_group(group_name, system_group, gid)
          group_info = grp.getgrnam(group_name)
      return group_info