#!/usr/bin/bash

get_config() {
	SETUP_CONFIG_FILE="${SETUP_CONFIG_FILE:-/etc/ublue-os/setup.json}"
	QUERY="$1"
	FALLBACK="$2"
	shift
	shift
	OUTPUT="$(jq -r "$QUERY" "$SETUP_CONFIG_FILE" 2>/dev/null || echo "$FALLBACK")"
	if [ "$OUTPUT" == "null" ] ; then
		echo "$FALLBACK"
		return
	fi
	echo "$OUTPUT"
}

USER_HOOKS_DIRECTORY="$(get_config '."user-hooks-directory"' "/usr/share/ublue-os/user-setup.hooks.d")"
HOOKS_VERBOSE="${HOOKS_VERBOSE:-$(get_config '."verbose"' "false")}"

if [ "${HOOKS_VERBOSE}" == "true" ] ; then
	set -x
fi

# Privileged setup can be called via user services
if [ -d "$USER_HOOKS_DIRECTORY" ] ; then
	for script in $USER_HOOKS_DIRECTORY/* ; do
		bash $script
	done
fi
