# Termux installation path NexusOS is packaged so its Python runtime, memory database, playbooks, and compiled web UI can run without a source checkout or Node.js. Inference is configured separately through an Ollama-compatible HTTP endpoint; NexusOS does not attempt to manage that remote process. ## Bootstrap After `nexusos-ai` and a compatible Android `pydantic-core` wheel are published: ```bash curl -fsSLO https://git.enderofwings.com/enderofwings/NexusOS/raw/branch/main/scripts/install-termux.sh chmod +x install-termux.sh NEXUS_ANDROID_WHEEL_INDEX=https://packages.example.invalid/android/simple \ ./install-termux.sh ``` For a local release artifact, pass the wheel path or URL as the first argument: ```bash NEXUS_ANDROID_WHEEL_INDEX=https://packages.example.invalid/android/simple \ ./scripts/install-termux.sh ./dist/nexusos_ai-1.0.0-py3-none-any.whl ``` Then configure inference and serve the UI: ```bash nexus provider use remote --url http://192.168.1.20:11434 nexus serve termux-open-url http://127.0.0.1:8000 ``` ## Native wheel gate Current Termux Python is 3.14, so Pydantic 1 is not a safe fallback. Pydantic 2 depends on the Rust-based `pydantic-core`. PyPI publishes Linux, macOS, Windows, and WebAssembly wheels but no Android wheel, while the current Termux Rust package cannot build common Rust extensions on-device. The bootstrap script therefore requires a binary `pydantic-core` and accepts a trusted PEP 503 wheel index through `NEXUS_ANDROID_WHEEL_INDEX`. It fails early with the detected Python ABI and CPU when that artifact is missing. The release pipeline can publish the pure NexusOS wheel today; an Android wheel job/index is the remaining prerequisite for a one-line public Termux install. Do not work around this by downloading an unverified binary or by exposing the NexusOS server with `--allow-lan`. Keep the UI on loopback and let the Android browser connect to `127.0.0.1`.