summaryrefslogtreecommitdiff
path: root/system_files/usr/share
diff options
context:
space:
mode:
Diffstat (limited to 'system_files/usr/share')
-rw-r--r--system_files/usr/share/ublue-os/just/92-aerocore-decky-mirror.just24
1 files changed, 24 insertions, 0 deletions
diff --git a/system_files/usr/share/ublue-os/just/92-aerocore-decky-mirror.just b/system_files/usr/share/ublue-os/just/92-aerocore-decky-mirror.just
index bfba05b..df9b6d5 100644
--- a/system_files/usr/share/ublue-os/just/92-aerocore-decky-mirror.just
+++ b/system_files/usr/share/ublue-os/just/92-aerocore-decky-mirror.just
@@ -27,6 +27,8 @@ setup-decky-mirror ACTION="":
DECKY_MIRROR_HOST="${AEROCORE_DECKY_MIRROR_HOST:-decky.mirror.aerocore.com.cn}"
DECKY_INSTALLER_BASE="https://${DECKY_MIRROR_HOST}/SteamDeckHomebrew/decky-installer/releases/latest/download"
+ DECKY_PLUGIN_MIRROR_HOST="${AEROCORE_DECKY_PLUGIN_MIRROR_HOST:-plugins.decky.mirror.aerocore.com.cn}"
+ DECKY_PLUGIN_STORE_URL="https://${DECKY_PLUGIN_MIRROR_HOST}/plugins"
get_status_token() {
local decky_service="/etc/systemd/system/plugin_loader.service"
@@ -63,6 +65,22 @@ setup-decky-mirror ACTION="":
fi
}
+ configure_plugin_store() {
+ echo "Configuring Decky plugin store: ${DECKY_PLUGIN_STORE_URL}"
+ local settings_file="$HOME/homebrew/settings/loader.json"
+ local settings_dir="$(dirname "$settings_file")"
+ local temporary_file
+ mkdir -p "$settings_dir"
+ temporary_file="$(mktemp "${settings_dir}/.loader.XXXXXX")"
+ if [[ -f "$settings_file" ]]; then
+ jq --arg store_url "$DECKY_PLUGIN_STORE_URL" '.store = 2 | ."store-url" = $store_url' "$settings_file" > "$temporary_file"
+ else
+ jq -n --arg store_url "$DECKY_PLUGIN_STORE_URL" '{store: 2, "store-url": $store_url}' > "$temporary_file"
+ fi
+ chmod --reference="$settings_file" "$temporary_file" 2>/dev/null || chmod 0644 "$temporary_file"
+ mv -f "$temporary_file" "$settings_file"
+ }
+
install_release() {
setup_home_deck_compat
if [[ "$HAS_GRAPHICAL_SESSION" -eq 1 ]]; then
@@ -72,6 +90,9 @@ setup-decky-mirror ACTION="":
curl -L "${DECKY_INSTALLER_BASE}/install_release.sh" | sh
fi
run_as_root chcon -R -t bin_t "$HOME/homebrew/services/PluginLoader"
+ run_as_root systemctl stop plugin_loader.service 2>/dev/null || true
+ configure_plugin_store
+ run_as_root systemctl start plugin_loader.service 2>/dev/null || true
}
install_prerelease() {
@@ -83,6 +104,9 @@ setup-decky-mirror ACTION="":
curl -L "${DECKY_INSTALLER_BASE}/install_prerelease.sh" | sh
fi
run_as_root chcon -R -t bin_t "$HOME/homebrew/services/PluginLoader"
+ run_as_root systemctl stop plugin_loader.service 2>/dev/null || true
+ configure_plugin_store
+ run_as_root systemctl start plugin_loader.service 2>/dev/null || true
}
uninstall() {