#!/usr/bin/env bash # # Usage: ./push-all set -euo pipefail registry=${1:-docker.io} image_prefix=${2:-nixpkgs} image_tag=${3:-latest} system_name=${NIX_SYSTEM_NAME:-x86_64-linux} releases_json=$(nix-instantiate --strict --argstr system "$system_name" --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}-${system_name} echo "--- attr=$attr src=$src dst=$dst" skopeo copy --insecure-policy "$src" "$dst" done echo OK