Pairing the app with the mise CLI does not work, and pinning the app back to the tag behind PyPI's release does not rescue it: v2026.7.20's desktop reaches "backend is ready" and then hangs without ever opening a window, against its own matching runtime. Only the newest app against a runtime built from its own commit starts, which is the arrangement upstream ships. So the package returns to the newest tag and the launcher sets HERMES_DESKTOP_IGNORE_EXISTING, which keeps the app off whatever hermes is on PATH -- on Omarchy that is the mise CLI installed for the terminal agent, a different release, and the version gap is what produced the 401. The app provisions ~/.hermes itself on first launch instead. mise and uv are no longer dependencies, since the launcher no longer installs anything; git and curl are, because the app's own bootstrap needs them.
28 lines
1.1 KiB
Bash
28 lines
1.1 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# Hermes Desktop is a shell around a Hermes runtime, and it only works against
|
|
# one built from its own commit. A CLI from PyPI is always a different release
|
|
# -- PyPI trails the tags -- and the mismatch fails the app's readiness probe
|
|
# with 401 Unauthorized. So keep it away from whatever `hermes` is on PATH,
|
|
# which on Omarchy is the mise CLI installed for the terminal agent, and let
|
|
# the app provision and manage its own runtime under ~/.hermes. That is the
|
|
# arrangement upstream ships, and the only one that starts.
|
|
export HERMES_DESKTOP_IGNORE_EXISTING=1
|
|
|
|
# Chromium's own Ozone detection falls back to XWayland often enough to matter,
|
|
# and the result is a blurry window on every scaled display. Ask for Wayland
|
|
# directly, unless the user has already picked a platform themselves.
|
|
platform_flags=()
|
|
if [[ -n "${WAYLAND_DISPLAY:-}" || ${XDG_SESSION_TYPE:-} == wayland ]]; then
|
|
platform_flags=(--ozone-platform=wayland)
|
|
|
|
for flag in "$@"; do
|
|
case "$flag" in
|
|
--ozone-platform=* | --ozone-platform-hint=*) platform_flags=() ;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
exec /opt/hermes-desktop/Hermes "${platform_flags[@]}" "$@"
|