#WEBI_PKG=
#WEBI_HOST=https://webinstall.dev
+export WEBI_HOST
mkdir -p "$HOME/.local/bin"
my_ext=""
set +e
-if [ -n "\$(command -v git)" ]; then
- my_ext="git,\$my_ext"
-fi
-if [ -n "\$(command -v tar)" ]; then
- my_ext="tar,\$my_ext"
-fi
-if [ -n "\$(command -v unzip)" ]; then
- my_ext="zip,\$my_ext"
-fi
+# NOTE: the order here is least favorable to most favorable
if [ -n "\$(command -v pkgutil)" ]; then
my_ext="pkg,\$my_ext"
fi
# note: could also detect via hdiutil
my_ext="dmg,\$my_ext"
#fi
+if [ -n "\$(command -v git)" ]; then
+ my_ext="git,\$my_ext"
+fi
+if [ -n "\$(command -v unxz)" ]; then
+ my_ext="xz,\$my_ext"
+fi
+if [ -n "\$(command -v unzip)" ]; then
+ my_ext="zip,\$my_ext"
+fi
+if [ -n "\$(command -v tar)" ]; then
+ my_ext="tar,\$my_ext"
+fi
my_ext="\$(echo "\$my_ext" | sed 's/,$//')" # nix trailing comma
set -e
export WEBI_UA="\$(uname -a)"
my_installer_url="\$WEBI_HOST/api/installers/\$my_package.bash?formats=\$my_ext"
+set +e
if [ -n "\$WEBI_CURL" ]; then
curl -fsSL "\$my_installer_url" -H "User-Agent: curl \$WEBI_UA" \\
-o "\$WEBI_BOOT/\$my_package-bootstrap.sh"
wget -q "\$my_installer_url" --user-agent="wget \$WEBI_UA" \\
-O "\$WEBI_BOOT/\$my_package-bootstrap.sh"
fi
+if ! [ \$? -eq 0 ]; then
+ echo "error fetching '\$my_installer_url'"
+ exit 1
+fi
+set -e
pushd "\$WEBI_BOOT" 2>&1 > /dev/null
bash "\$my_package-bootstrap.sh"