diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..d43906f --- /dev/null +++ b/setup.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +# Usage: ./setup.sh + +set -euo pipefail + +if pidof firefox &> /dev/null; then + echo "It is recommended to close firefox before running this script." + echo -n "Do you want to run the script anyways? (y/N): " + read -r input + if [[ ${input^^} != "Y" ]]; then + exit 2 + fi +fi + + + +REPO_DIR="$(dirname "$0")" +BIN_DIR="$REPO_DIR/bin" +ICON_DIR="$REPO_DIR/icon" + +[[ -d $BIN_DIR ]] || mkdir -- "$BIN_DIR" +[[ -d $ICON_DIR ]] || mkdir -- "$ICON_DIR" + +FIREFOX_PROFILE="" +OPTIONS=f +LONGOPTS=firefox-profile +PARSED=$(getopt --options=$OPTIONS --longoptions=$LONGOPTS --name "$0" -- "$@") +eval set -- "$PARSED" + +while true; do + case "$1" in + -f|--firefox-profile) + shift + FIREFOX_PROFILE="$1" + ;; + + --) + break + ;; + *) + echo "Error parsing arguments!" + exit 1 + esac +done + + +# Prompt to create Firefox profile +if [[ $FIREFOX_PROFILE == "" ]]; then + echo -n "Use an existing profile for apps? (y/N): " + read -r input + if [[ ${input^^} == "Y" ]]; then + echo "Enter path to existing profile (or run the script with --firefox_profile): " + read -r FIREFOX_PROFILE + else + FIREFOX_PROFILE="$HOME/.mozilla/firefox/firefox-web-apps" + firefox -CreateProfile "firefox-web-apps ${FIREFOX_PROFILE}" + fi +fi