#!/usr/bin/env bash

FLAKE_DIR="/home/torjus/nixos"
NIXPKGS_DIR="/home/torjus/git/nixpkgs"

flake_metadata=$(nix flake metadata --json "$FLAKE_DIR" 2>/dev/null)

unstable_input=$(echo "$flake_metadata" | jq '.locks.nodes.root.inputs.nixpkgs')
unstable_rev=$(echo "$flake_metadata" | jq -r ".locks.nodes.$unstable_input.locked.rev")
unstable_branch=$(echo "$flake_metadata" | jq -r ".locks.nodes.$unstable_input.original.ref")

cd "$NIXPKGS_DIR" || exit 1
git fetch -q --all
unstable_commit_count=$(git rev-list --count "$unstable_rev..origin/$unstable_branch")

text="$unstable_commit_count"
tooltip="${unstable_branch}: ${unstable_commit_count}"

output=$(jq -n \
    --arg text "$text" \
    --arg tooltip "$tooltip" \
    --unbuffered \
    --compact-output \
    '{text: $text, tooltip: $tooltip}')

echo "$output"