#!/bin/bash

repo_url="$1"
rev="$2"



if [ -n "$rev" ]; then
  output="$(nix-prefetch-git "$repo_url" --rev "$rev" 2>/dev/null)" 
else
  output="$(nix-prefetch-git "$repo_url" 2>/dev/null)"
fi



owner="$(echo "$repo_url" | sed 's/.*github\..*\/\(.*\)\/\(.*\)$/\1/')"
repo="$(echo "$repo_url" | sed 's/.*github\..*\/\(.*\)\/\(.*\)$/\2/')"
rev="${rev:-$(echo "$output" | grep "\"rev\": " | sed 's/.*: "\(.*\)".*$/\1/')}"
sha="$(echo "$output" | grep "\"sha256\": " | sed 's/.*: "\(.*\)".*$/\1/')"

echo "pkgs.fetchFromGitHub {"
echo "  owner = \"$owner\";"
echo "  repo = \"$repo\";"
echo "  rev = \"$rev\";"
echo "  sha256 = \"$sha\";"
echo "};"