#!/usr/bin/env bash

set -euxo pipefail

TEMP_DIR="$(mktemp -d)"
BIN_DIR=""
AGE_VERSION="v1.0.0"
AGE_FILE=""

case "$(uname)" in
  Linux)
    AGE_FILE="age-${AGE_VERSION}-linux-amd64.tar.gz"
    BIN_DIR="${HOME}/.local/bin"
    ;;
  Darwin)
    AGE_FILE="age-${AGE_VERSION}-darwin-amd64.tar.gz"
    BIN_DIR="${HOME}/bin"
    ;;
  *) echo "Unsupported system: $(uname)"; exit 1 ;;
esac

pushd "${TEMP_DIR}"

curl -L --silent --show-error --retry 3 --fail -o age.tar.gz "https://github.com/FiloSottile/age/releases/download/v1.0.0/${AGE_FILE:?}"
tar xvf age.tar.gz
rm age/LICENSE
mkdir -p "${BIN_DIR}"
mv -v age/age "${BIN_DIR}" && chmod +x "${BIN_DIR}/age"
mv -v age/age-keygen "${BIN_DIR}" && chmod +x "${BIN_DIR}/age-keygen"

popd
