#!/bin/bash # omarchy:summary=Install a supported browser and make it the default # omarchy:args= # omarchy:examples=omarchy install browser firefox | omarchy install browser brave make_default() { xdg-settings set default-web-browser "$1" xdg-mime default "$1" x-scheme-handler/http xdg-mime default "$1" x-scheme-handler/https xdg-mime default "$1" text/html } setup_policy_directory() { sudo mkdir -p "$1" sudo chmod a+rw "$1" } announce_default_browser() { echo "" echo "$1 is now the default browser. Start it with Super + Shift + Return." } copy_chromium_flags() { mkdir -p ~/.config cp -f "${OMARCHY_PATH:-$HOME/.local/share/omarchy}/config/chromium-flags.conf" "$1" } setup_firefox_preferences() { local distribution_dir="$1" setup_policy_directory "$distribution_dir" sudo cp -f "$OMARCHY_PATH/default/firefox/policies.json" "$distribution_dir/policies.json" } setup_firefox_wayland() { mkdir -p ~/.config/environment.d echo "MOZ_ENABLE_WAYLAND=1" > ~/.config/environment.d/omarchy-firefox-wayland.conf } case $1 in chrome) echo "Installing Chrome..." omarchy-pkg-aur-add google-chrome || exit 1 setup_policy_directory /etc/opt/chrome/policies/managed copy_chromium_flags ~/.config/chrome-flags.conf make_default google-chrome.desktop omarchy-theme-set-browser announce_default_browser "Chrome" ;; edge) echo "Installing Edge..." omarchy-pkg-aur-add microsoft-edge-stable-bin || exit 1 setup_policy_directory /etc/opt/edge/policies/managed copy_chromium_flags ~/.config/microsoft-edge-stable-flags.conf make_default microsoft-edge.desktop omarchy-theme-set-browser announce_default_browser "Edge" ;; brave) echo "Installing Brave..." omarchy-pkg-aur-add brave-bin || exit 1 setup_policy_directory /etc/brave/policies/managed copy_chromium_flags ~/.config/brave-flags.conf make_default brave-browser.desktop omarchy-theme-set-browser announce_default_browser "Brave" ;; brave-origin) echo "Installing Brave Origin..." omarchy-pkg-aur-add brave-origin-beta-bin || exit 1 setup_policy_directory /etc/brave/policies/managed mkdir -p ~/.config # FIXME: Use normal chromium flags when Brave Origin wrapper has been fixed echo "--load-extension=~/.local/share/omarchy/default/chromium/extensions/copy-url" > ~/.config/brave-origin-beta-flags.conf make_default brave-origin-beta.desktop omarchy-theme-set-browser announce_default_browser "Brave Origin" ;; firefox) echo "Installing Firefox..." omarchy-pkg-add firefox || exit 1 setup_firefox_preferences /usr/lib/firefox/distribution setup_firefox_wayland make_default firefox.desktop announce_default_browser "Firefox" ;; zen) echo "Installing Zen..." omarchy-pkg-aur-add zen-browser-bin || exit 1 setup_firefox_preferences /opt/zen-browser/distribution setup_firefox_wayland make_default zen.desktop announce_default_browser "Zen" ;; *) echo "Usage: omarchy-install-browser " exit 1 ;; esac