#!/usr/bin/env bash

# SPDX-FileCopyrightText: 2024 Ryan Lahfa <ryan.lahfa@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2

set -o errexit
set -o nounset
set -o pipefail
shopt -s lastpipe

output_path="$1"

if [ "$STORE_ENDPOINT" == "" ]; then
  echo "No endpoint given for the remote cache, uploading cannot take place."
  exit 0
fi

if [ "$STORE_USER" == "" ]; then
  echo "No user given for the remote cache, uploading cannot take place."
  exit 0
fi

if [ "$STORE_PASSWORD" == "" ]; then
  echo "No password given for the remote cache, uploading cannot take place."
  exit 1
fi

cat <<EOF >.netrc
default
login $STORE_USER
password $STORE_PASSWORD
EOF

nix copy \
  --extra-experimental-features nix-command \
  --to "$STORE_ENDPOINT?compression=none" \
  --netrc-file .netrc \
  "$output_path"

rm .netrc