From 16b74bfaab48fa8e890881eead078b09dcefbcf8 Mon Sep 17 00:00:00 2001 From: ene Date: Sat, 11 Feb 2023 12:22:46 +0100 Subject: Fix: Remove typo from home-manager directory name --- home-manager/firefox/generate-extension.py | 41 ++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 home-manager/firefox/generate-extension.py (limited to 'home-manager/firefox/generate-extension.py') diff --git a/home-manager/firefox/generate-extension.py b/home-manager/firefox/generate-extension.py new file mode 100755 index 00000000..cfb73542 --- /dev/null +++ b/home-manager/firefox/generate-extension.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# source: https://github.com/etu/nixconfig/blob/ba47d577c8bfb4a1c06927c34ece34118f4a0460/modules/graphical/firefox/generate.py + +from concurrent.futures import ThreadPoolExecutor +import json +import os +import requests + +EXTENSIONS = sorted([ + "darkreader", + "firenvim", + "keepassxc-browser", + "simple-tab-groups", +]) + +def index_ext(ext: str): + print(f"Indexing {ext}...") + + resp = requests.get(f"https://addons.mozilla.org/api/v5/addons/addon/{ext}/").json() + rel = resp["current_version"] + + if not rel["file"]["hash"].startswith("sha256:"): + raise ValueError("Unhandled hash type") + + return { + "pname": ext, + "version": rel["version"], + "addonId": resp["guid"], + "url": rel["file"]["url"], + "sha256": rel["file"]["hash"], + } + +if __name__ == "__main__": + outfile = os.path.dirname(os.path.realpath(__file__)) + "/extensions.json" + + with ThreadPoolExecutor() as e: + extensions = {ext: e.submit(index_ext, ext) for ext in EXTENSIONS} + extensions = {k: v.result() for k, v in extensions.items()} + + with open(outfile, "w") as f: + json.dump(extensions, f, indent=2) -- cgit 1.4.1