#!/usr/bin/env nix-shell #!nix-shell -i python3 -p python3Packages.python -p python3Packages.requests import requests import json from pprint import pprint allowed_forks = [ 'nix-community/acpi_call', 'nix-community/bundix', 'nix-community/luarocks-nix', 'nix-community/nix-doom-emacs', 'nix-community/nix-straight.el', 'nix-community/travis-build', 'nix-community/vagrant-nixos-plugin', 'NixOS/calamares-nixos-extensions', ]; def all_for_org(org): resp = {} next_url = 'https://api.github.com/orgs/{}/repos'.format(org) while next_url is not None: repo_resp = requests.get(next_url) if 'next' in repo_resp.links: next_url = repo_resp.links['next']['url'] else: next_url = None repos = repo_resp.json() resp.update({ "{}-{}".format(org, repo['name']): { 'url': repo['clone_url'], } for repo in repos if repo['archived'] == False if repo['fork'] == False or repo['full_name'] in allowed_forks }) return resp repos = {**all_for_org('NixOS'), **all_for_org('nix-community')} print(json.dumps( { "max-concurrent-indexers" : 1, "dbpath" : "/var/lib/hound/data", "repos": repos, "vcs-config" : { "git": { "detect-ref" : True } }, }, indent=4, sort_keys=True ))