DSH-Arch-Setup/bin/dsh-app
Шурупов Илья Викторович cf9443753e Add one-command Arch DSH setup
Package the portable DSH profiles, local plugins, desktop integration, Firefox wrapper, and ownership-aware installer lifecycle. Bundle checksum-pinned OpenVSCode, editor extensions, translation assets, and cloudflared so unreliable upstream artifact downloads cannot break a clean installation.
2026-09-12 19:13:36 +03:00

31 lines
868 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
url="${DSH_WEB_URL:-http://127.0.0.1:3080/}"
profile="${DSH_FIREFOX_PROFILE:-$HOME/.local/share/dsh-app-firefox}"
log="$profile/dsh-web.log"
mkdir -p "$profile"
kiosk=0
[[ "${1:-}" == "--kiosk" ]] && kiosk=1
if ! curl --fail --silent --output /dev/null "$url" 2>/dev/null; then
if systemctl --user cat dsh-web.service >/dev/null 2>&1; then
systemctl --user start dsh-web.service
else
nohup dsh web --no-open --port 3080 >"$log" 2>&1 &
fi
for _ in $(seq 1 60); do
curl --fail --silent --output /dev/null "$url" 2>/dev/null && break
sleep 1
done
fi
export MOZ_ENABLE_WAYLAND=1
unset GDK_BACKEND
arguments=(--no-remote --new-instance --profile "$profile" --name dsh-app)
if [[ "$kiosk" == 1 ]]; then
exec firefox "${arguments[@]}" --kiosk "$url"
fi
exec firefox "${arguments[@]}" --new-window "$url"