#!/bin/bash # omarchy:summary=Require approval for new Thunderbolt PCIe accessories # omarchy:args=[--quiet|status|recover] set -euo pipefail source "$OMARCHY_PATH/install/helpers/thunderbolt-policy.sh" source "$OMARCHY_PATH/install/helpers/thunderbolt-review.sh" if [[ ${1:-} == "status" ]]; then tb_status elif [[ ${1:-} == "recover" && $# == 1 ]]; then sudo /usr/bin/omarchy-thunderbolt-authorization-admin recover elif [[ $# == 0 || ( $# == 1 && $1 == "--quiet" ) ]]; then if [[ ${1:-} != "--quiet" ]]; then if [[ -f $TB_PENDING ]]; then tb_status; fi echo "First setup, including a deferred setup, trusts connected accessories. Re-enabling a completed setup preserves saved trust." gum confirm "Require approval for new Thunderbolt accessories?" || exit 0 fi # System units and rules are shipped by omarchy-settings. sudo install -Dm644 "$OMARCHY_PATH/default/polkit/org.omarchy.thunderbolt.policy" /usr/share/polkit-1/actions/org.omarchy.thunderbolt.policy sudo systemctl daemon-reload action=enable if [[ ${1:-} == "--quiet" ]]; then action=migrate fi sudo /usr/bin/omarchy-thunderbolt-authorization-admin "$action" systemctl --user daemon-reload systemctl --user enable --now omarchy-thunderbolt-authorization.service if [[ -f /etc/omarchy/thunderbolt-authorization.enabled ]]; then for ((attempt=0; attempt<10; attempt++)); do if tb_public_snapshot >/dev/null 2>&1; then break; fi sleep 1 done tb_status elif [[ -f $TB_PENDING ]]; then tb_status fi else echo "Usage: omarchy-setup-security-thunderbolt-authorization [--quiet|status|recover]" >&2 exit 1 fi