diff options
Diffstat (limited to 'makefile')
-rw-r--r-- | makefile | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/makefile b/makefile new file mode 100644 index 0000000..fbb43ea --- /dev/null +++ b/makefile @@ -0,0 +1,54 @@ +# Makefile für das unifox.js Projekt + +# Variablen +PROFILE_NAME="unifox" +PROFILE_DIR="$(HOME)/.mozilla/firefox" + +# Ziel: alles +all: setup + +# Ziel: setup +setup: + # Neues Profil erstellen + firefox -CreateProfile "$(PROFILE_NAME)" + + # Pfad des neuen Profils ermitteln + NEW_PROFILE_PATH=$(shell grep -oP "(?<=^Path=).*$" "$(PROFILE_DIR)/profiles.ini" | grep "$(PROFILE_NAME)") + + # Notwendige Verzeichnisse erstellen + mkdir -p "$(PROFILE_DIR)/$(NEW_PROFILE_PATH)/chrome" + mkdir -p "$(PROFILE_DIR)/$(NEW_PROFILE_PATH)/chrome/img" + + # Konfigurationsdateien kopieren + cp -r chrome "$(PROFILE_DIR)/$(NEW_PROFILE_PATH)/" + cp prefs.js "$(PROFILE_DIR)/$(NEW_PROFILE_PATH)/" + cp addons.json "$(PROFILE_DIR)/$(NEW_PROFILE_PATH)/" + + # Add-ons installieren und konfigurieren + @$(MAKE) install_addons + + # Hintergrundbild kopieren + cp /path/to/custom/background.png "$(PROFILE_DIR)/$(NEW_PROFILE_PATH)/chrome/img/background.png" + + # Finale Konfiguration + echo "user_pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);" >> "$(PROFILE_DIR)/$(NEW_PROFILE_PATH)/prefs.js" + + @echo "Firefox setup for profile $(PROFILE_NAME) completed." + +# Ziel: Add-ons installieren +install_addons: + ADDON_LIST="ublock-origin decentraleyes istilldontcareaboutcookies vimimium-c" + ADDON_TMP="$(shell mktemp -d)" + trap "rm -fr $$ADDON_TMP" HUP INT QUIT TERM PWR EXIT + for ADDON in $$ADDON_LIST; do \ + if [ "$$ADDON" = "ublock-origin" ]; then \ + ADDON_URL="$$($(shell curl -sL https://api.github.com/repos/gorhill/uBlock/releases/latest | grep -E 'browser_download_url.*\.firefox\.xpi' | cut -d '"' -f 4))"; \ + else \ + ADDON_URL="$$($(shell curl --silent "https://addons.mozilla.org/en-US/firefox/addon/$$ADDON/" | grep -o 'https://addons.mozilla.org/firefox/downloads/file/[^"]*'))"; \ + fi \ + FILE="$$($(shell basename "$$ADDON_URL"))"; \ + curl -LOs "$$ADDON_URL" -o "$$ADDON_TMP/$$FILE"; \ + ID="$$($(shell unzip -p "$$ADDON_TMP/$$FILE" manifest.json | grep "\"id\""))"; \ + ID="$$($(shell echo "$$ID" | sed 's/\"//g'))"; \ + mv "$$ADDON_TMP/$$FILE" "$(PROFILE_DIR)/$(NEW_PROFILE_PATH)/extensions/$$ID.xpi"; \ + done |