Files
NexusOS/launch_nexus.sh
T
jon b0aa0438af Initial commit: NexusOS project + desktop theme baseline
Captures the known-good state after theme consolidation and
consistency reconciliation:
- NexusOS GTK/xfwm4/icon theme assets (assets/themes, management/Mint-Y-Nexus)
- Tightened right-click menus, visible separators, no menu icons
- assets/themes/install-theme.sh: idempotent restore of all wiring
  (symlinks, xfconf xsettings+xfwm4, GTK 3/4 settings.ini)
- .gitignore excludes venv/ollama/models/runtime/db

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 13:39:48 -05:00

52 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
PROJECT_ROOT="$(cd "$(dirname "$0")" && pwd)"
PYTHON="$PROJECT_ROOT/Promethean/bin/python3"
FRONTEND_DIR="$PROJECT_ROOT/interface/web"
LOG_DIR="$PROJECT_ROOT/runtime"
mkdir -p "$LOG_DIR"
MEMORY_LOG="$LOG_DIR/memory.log"
BACKEND_LOG="$LOG_DIR/backend.log"
FRONTEND_LOG="$LOG_DIR/frontend.log"
_start() {
# _start <label> <log_file> <work_dir> <cmd> [args...]
local label="$1" log_file="$2" work_dir="$3"
shift 3
: > "$log_file"
( cd "$work_dir" && exec "$@" ) >> "$log_file" 2>&1 &
echo $!
}
_check() {
local label="$1" pid="$2" log_file="$3"
if kill -0 "$pid" 2>/dev/null; then
echo "$label STARTED"
else
echo "$label FAILED TO START"
[ -s "$log_file" ] && tail -8 "$log_file" | sed 's/^/ /'
fi
}
# Launch memory + backend together
MEMORY_PID=$(_start "NEXUS MEMORY SERVICE" "$MEMORY_LOG" "$PROJECT_ROOT" \
"$PYTHON" -m uvicorn synapse.memory.service:app --host 0.0.0.0 --port 8001 --reload)
BACKEND_PID=$(_start "NEXUS BACKEND SERVICE" "$BACKEND_LOG" "$PROJECT_ROOT" \
"$PYTHON" -m uvicorn synapse.main:sio_app --host 0.0.0.0 --port 8000 --reload)
sleep 3
_check "NEXUS MEMORY SERVICE" "$MEMORY_PID" "$MEMORY_LOG"
_check "NEXUS BACKEND SERVICE" "$BACKEND_PID" "$BACKEND_LOG"
# Frontend last
FRONTEND_PID=$(_start "NEXUS FRONTEND SERVICE" "$FRONTEND_LOG" "$FRONTEND_DIR" \
npm run dev)
sleep 5
_check "NEXUS FRONTEND SERVICE" "$FRONTEND_PID" "$FRONTEND_LOG"
trap "kill $MEMORY_PID $BACKEND_PID $FRONTEND_PID 2>/dev/null; echo ''; echo 'NEXUS STOPPED'; exit" SIGINT SIGTERM
wait