#!/usr/bin/env bash

set -e

make docker

COMMANDS=(
  'set -e'
  'apt update -y'
  'DEBIAN_FRONTEND=noninteractive apt install sudo build-essential tzdata keyboard-configuration -y'
  "groupadd -g $(id -g "$USER") app"
  "useradd -u $(id -u "$USER") -g $(id -g "$USER") --groups app,sudo app"
  'chown app:app /home/app'
  'passwd --delete app'
  "su app -c 'make INTERACTIVE=0 SWAPDNS=0 CI=${CI} --trace --debug ${*}'"
)

[[ "$TINKER" == "" ]] || COMMANDS+=("$TINKER")
[[ "${TTY:-1}" == "1" ]] && TTY_FLAG='-it'

IFS=';'
docker run \
  --rm \
  -v $PWD:/setup \
  -v $HOME/.ssh:/home/app/.ssh:rw \
  -v $SSH_AUTH_SOCK:/ssh-agent:ro \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e SSH_AUTH_SOCK=/ssh-agent \
  --net bridge \
  "${TTY_FLAG:--i}" \
  -w /setup \
  "${IMAGE:=ubuntu:24.04}" \
  bash -c "${COMMANDS[*]}"
