#!/usr/bin/env bash

set -euo pipefail

log() {
	echo ":: $*" >&2
}

err() {
	echo "E: $*" >&2
}

add_env() {
	local file name

	for name; do
		file="${XDG_CONFIG_HOME:-"$HOME/.config"}/${name}.conf"
		if ! [[ -f "${file}" ]]; then
			continue
		fi
		source "${file}"
	done
}

add_flags() {
	declare -g -a flags
	local file name

	for name; do
		file="${XDG_CONFIG_HOME:-"$HOME/.config"}/${name}-flags.conf"
		if ! [[ -f "${file}" ]]; then
			continue
		fi
		while IFS='' read -r line; do
			if ! [[ "${line}" =~ ^[[:space:]]*(#|$) ]]; then
				flags+=("${line}")
			fi
		done <"${file}"
	done
}

flags=()

add_env ledger-live-desktop
add_flags electron
add_flags electron38
add_flags ledger-live-desktop

exec /usr/lib/electron38/electron \
	/usr/lib/ledger-live-desktop/app.asar \
	"${flags[@]}" "$@"
