summarylogtreecommitdiffstats
path: root/vencord-hook.sh
blob: 1ab8ad69f0b218de07b79bd0be0bd6134d39be8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash
# Copyright (c) 2024-2025 Jim Philip, with Reserved Package Name "vencord-hook"
# Copyright (c) 2022-2025 Vendicated and Vencord contributors, with Reserved Project Name "Vencord"

set -eo pipefail

echo_hook() {
	# echo -ne "\e[35mHOOK  \e[39m"
	echo -n "HOOK  "
	echo $@
}

err_handler() {
	echo_hook "An error occurred. If unresolvable, contact the package maintainer: https://aur.archlinux.org/packages/vencord-hook"
}
trap err_handler ERR

if [ -z "$SUDO_USER" ] && [ -z "$DOAS_USER" ]; then
	echo_hook "Using unsupported privilege escalation utility; Manually setting SUDO_USER."

	WEIRD_HELPERS=(pamac)

	for helper in "${WEIRD_HELPERS[@]}"; do
		user=$(ps -eo user:32,comm --no-headers | awk -v h="$helper" '$1 != "root" && $2 ~ ("^"h) {print $1; exit}')

		if [ -n "$user" ]; then
			break
		fi
	done

	if [ -z "$user" ]; then
		echo_hook "Failed to determine user. Please set SUDO_USER manually or use an officially supported package manager (e.g. 'pacman -S discord')."
		exit 1
	fi

	echo_hook "SUDO_USER=$user"
	export SUDO_USER="$user"
fi

while IFS= read -r package || [ -n "$package" ]; do
	branch=${package#discord}
	branch=${branch#-}
	branch=${branch:-stable}

	echo_hook "Installing Vencord for $branch branch..."
	vencordinstallercli -install -branch "$branch" || {
		err_handler
		exit 1
	}
done