#!/usr/bin/env nix-shell
|
|
#! nix-shell -i bash -p curl jq nix
|
|
#
|
|
# Updates nixpkgs.json to the latest or chosen nixpkgs revision
|
|
#
|
|
# Usage: ./update-nix
|
|
# ./update-nix $rev
|
|
# ./update-nix $owner $rev
|
|
#
|
|
# Arguments default to owner=nixos and rev=master and refer
|
|
# to the github owner of a nixpkgs fork and a git revision.
|
|
#
|
|
set -exo pipefail
|
|
|
|
owner="nixos"
|
|
|
|
if [ ! -z "$2" ]; then
|
|
owner="$1"
|
|
rev="$2"
|
|
else
|
|
rev="${1:-master}"
|
|
fi
|
|
|
|
resolved_rev=$(curl "https://api.github.com/repos/${owner}/nixpkgs/commits?sha=${rev}" | jq -r 'first.sha')
|
|
url="https://github.com/${owner}/nixpkgs/archive/${resolved_rev}.tar.gz"
|
|
digest=$(nix-prefetch-url --unpack "$url")
|
|
echo "{\"url\": \"${url}\", \"sha256\": \"${digest}\"}" | jq '.' > nix/nixpkgs.json
|