44 lines
1.1 KiB
Bash
Executable File
44 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy:summary=Install the Claude extension for Chromium-based browsers
|
|
# omarchy:requires-sudo=true
|
|
|
|
set -euo pipefail
|
|
|
|
if (( EUID == 0 )); then
|
|
export PATH=/usr/bin:/bin
|
|
fi
|
|
|
|
EXTENSION_ID="fcoeoabgfenejglbffodgkkbkcdhcgfn"
|
|
EXTENSION_JSON='{ "external_update_url": "https://clients2.google.com/service/update2/crx" }'
|
|
PACKAGED_PATH=/usr/bin/omarchy-install-chromium-claude
|
|
|
|
# Brave and Brave Origin share Chromium's external extension directory.
|
|
# Seed all supported browsers, including those installed after choosing Claude.
|
|
EXTENSION_DIRS=(
|
|
/usr/share/chromium/extensions
|
|
/usr/share/google-chrome/extensions
|
|
/usr/share/microsoft-edge/extensions
|
|
)
|
|
|
|
installed=true
|
|
for dir in "${EXTENSION_DIRS[@]}"; do
|
|
if [[ ! -f $dir/$EXTENSION_ID.json ]] || [[ $(cat "$dir/$EXTENSION_ID.json") != "$EXTENSION_JSON" ]]; then
|
|
installed=false
|
|
fi
|
|
done
|
|
|
|
if [[ $installed == "true" ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
if (( EUID == 0 )); then
|
|
for dir in "${EXTENSION_DIRS[@]}"; do
|
|
printf '%s\n' "$EXTENSION_JSON" | install -D -m 0644 /dev/stdin "$dir/$EXTENSION_ID.json"
|
|
done
|
|
elif [[ -t 0 ]]; then
|
|
exec sudo "$PACKAGED_PATH"
|
|
else
|
|
exec pkexec "$PACKAGED_PATH"
|
|
fi
|