Files
VoxVera/setup.sh
2025-06-19 19:22:27 -04:00

54 lines
994 B
Bash
Executable File

#!/bin/bash
set -e
check_cmd() {
command -v "$1" >/dev/null 2>&1
}
apt_packages=()
if ! check_cmd jq; then
apt_packages+=(jq)
fi
if ! check_cmd qrencode; then
apt_packages+=(qrencode)
fi
if ! check_cmd convert; then
apt_packages+=(imagemagick)
fi
if ! check_cmd pdftotext; then
apt_packages+=(poppler-utils)
fi
if ! check_cmd node || ! check_cmd npm; then
apt_packages+=(nodejs npm)
fi
if [ ${#apt_packages[@]} -gt 0 ]; then
echo "Installing system packages: ${apt_packages[*]}"
sudo apt-get update
sudo apt-get install -y "${apt_packages[@]}"
fi
for pkg in javascript-obfuscator html-minifier-terser; do
if ! check_cmd "$pkg"; then
npm install -g "$pkg"
fi
done
# ensure Python packages used by the CLI are available
for py in InquirerPy rich; do
if ! python3 - <<EOF >/dev/null 2>&1
import importlib.util, sys
sys.exit(0 if importlib.util.find_spec('$py') else 1)
EOF
then
pip install --user "$py"
fi
done
echo "All dependencies are installed."