#!/usr/bin/env bash # # Usage: ./push-all set -euo pipefail registry=${1:-docker.io} image_prefix=${2:-nixpkgs} image_tag=${3:-latest} releases_json=$(nix-instantiate --strict --eval --json) echo "=== Pushing images to $registry" for attr in $(echo "$releases_json" | jq -r "keys[]") ; do file=$(echo "$releases_json" | jq -r ".\"$attr\"") src=docker-archive://$file dst=docker://$registry/$image_prefix/$attr:$image_tag echo "--- attr=$attr src=$src dst=$dst" skopeo copy --insecure-policy "$src" "$dst" done echo OK