about summary refs log tree commit diff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/default.nix2
-rw-r--r--tools/gha-billing/default.nix35
-rwxr-xr-xtools/gha-billing/gha-billing.py40
-rw-r--r--tools/waybar-systemd-units/default.nix27
-rwxr-xr-xtools/waybar-systemd-units/waybar-systemd.py75
5 files changed, 0 insertions, 179 deletions
diff --git a/tools/default.nix b/tools/default.nix
index 368ce4f..cc20040 100644
--- a/tools/default.nix
+++ b/tools/default.nix
@@ -2,11 +2,9 @@
 
 pkgs.lib.makeScope pkgs.newScope (pkgs: {
   dnsmasq-to-html = pkgs.callPackage ./dnsmasq-leases-html { };
-  gha-billing = pkgs.callPackage ./gha-billing { };
   git-blame-stats = pkgs.callPackage ./git-blame-stats { };
   git-broom = pkgs.callPackage ./git-broom { };
   ipconverter = pkgs.callPackage ./ipconverter { };
   perf-flamegraph-pid = pkgs.callPackage ./perf-flamegraph-pid { };
   seqstat = pkgs.callPackage ./seqstat { };
-  waybar-systemd-units = pkgs.callPackage ./waybar-systemd-units { };
 })
diff --git a/tools/gha-billing/default.nix b/tools/gha-billing/default.nix
deleted file mode 100644
index 73ea63e..0000000
--- a/tools/gha-billing/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenvNoCC, pkgs }:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "gha-billing";
-  src = ./gha-billing.py;
-  version = "0.1.0";
-
-  buildInputs = [
-    (pkgs.python310.withPackages (ps: with ps; [
-      requests
-    ]))
-  ];
-
-  propagatedBuildInputs = [
-    (pkgs.python310.withPackages (ps: with ps; [
-      requests
-    ]))
-  ];
-
-  dontUnpack = true;
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp $src $out/bin/${pname}
-  '';
-
-
-  meta = with pkgs.lib; {
-    description = "CLI to get billing information for GHA.";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = [ ];
-  };
-}
diff --git a/tools/gha-billing/gha-billing.py b/tools/gha-billing/gha-billing.py
deleted file mode 100755
index c9c09ba..0000000
--- a/tools/gha-billing/gha-billing.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-import os
-import sys
-
-import requests
-
-API_URL = "https://api.github.com"
-
-
-def main(api_token: str, user: str) -> None:
-    s = requests.Session()
-    s.headers.update({"Authorization": f"token {api_token}"})
-    s.headers.update({"Accept": "application/vnd.github.v3+json"})
-
-    res = s.get(f"{API_URL}/users/{user}/settings/billing/actions", timeout=5)
-    res.raise_for_status()
-
-    billing = res.json()
-
-    time_remaining = billing["included_minutes"] - billing["total_minutes_used"]
-    print(
-        f"this cycle, {billing['total_minutes_used']} minutes have been used, and {time_remaining} minutes are remaining"
-    )
-
-
-if __name__ == "__main__":
-    argp = argparse.ArgumentParser()
-    argp.add_argument("-t", "--token-file", nargs=1, type=argparse.FileType("r"))
-    argp.add_argument("-u", "--user", type=str, default="fcuny")
-    args = argp.parse_args()
-
-    if args.token_file:
-        api_token = args.token_file[0].readline().strip()
-    else:
-        print("Must pass token file with -t/--token_file", file=sys.stderr)
-        sys.exit(os.EX_USAGE)
-
-    main(api_token, args.user)
diff --git a/tools/waybar-systemd-units/default.nix b/tools/waybar-systemd-units/default.nix
deleted file mode 100644
index 086fba1..0000000
--- a/tools/waybar-systemd-units/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenvNoCC, pkgs }:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "waybar-systemd-units";
-  src = ./waybar-systemd.py;
-  version = "0.1.0";
-
-  buildInputs = [ (pkgs.python310.withPackages (ps: with ps; [ click ])) ];
-
-  propagatedBuildInputs =
-    [ (pkgs.python310.withPackages (ps: with ps; [ click ])) ];
-
-  dontUnpack = true;
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp $src $out/bin/${pname}
-  '';
-
-  meta = with lib; {
-    description = "Get a list of systemd units that have failed.";
-    license = with licenses; [ mit ];
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ fcuny ];
-  };
-}
diff --git a/tools/waybar-systemd-units/waybar-systemd.py b/tools/waybar-systemd-units/waybar-systemd.py
deleted file mode 100755
index de5c2e0..0000000
--- a/tools/waybar-systemd-units/waybar-systemd.py
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/env python3
-import json
-import subprocess
-from typing import List
-
-import click
-
-
-def _get_failed_units(cmd) -> List[str]:
-    res = subprocess.run(cmd, capture_output=True, check=True)
-    if res.returncode == 0:
-        units = json.loads(res.stdout)
-        return [unit.get("unit") for unit in units]
-    else:
-        click.echo(f"failed to run {cmd}", err=True)
-        return []
-
-
-@click.command()
-@click.version_option(version="0.1.0")
-def cli() -> int:
-    """
-    Get a list of systemd units (system and users) that have
-    failed, and print the output in JSON, in a format compatible to
-    waybar.
-    """
-    failed_system_units = _get_failed_units(
-        [
-            "systemctl",
-            "list-units",
-            "-o",
-            "json",
-            "--state=failed",
-        ],
-    )
-
-    failed_user_units = _get_failed_units(
-        [
-            "systemctl",
-            "--user",
-            "list-units",
-            "-o",
-            "json",
-            "--state=failed",
-        ],
-    )
-
-    failed_units = len(failed_user_units) + len(failed_system_units)
-
-    # The output format documentation:
-    # https://github.com/Alexays/Waybar/wiki/Module:-Custom
-    output = {"text": failed_units, "class": "success"}
-
-    if failed_units > 0:
-        output["class"] = "errors"
-
-        tooltip = []
-
-        if len(failed_user_units) > 0:
-            tooltip.append("failed user units: {}".format(", ".join(failed_user_units)))
-
-        if len(failed_system_units) > 0:
-            tooltip.append(
-                "failed system units: {}".format(", ".join(failed_system_units))
-            )
-
-        output["tooltip"] = "\n".join(tooltip)
-
-    click.echo(json.dumps(output))
-
-    return 0
-
-
-if __name__ == "__main__":
-    cli()