Skip to content

First-run setup

First-run setup is a terminal TUI: hal0 setup. It detects your hardware, picks a coherent set of slots, models, and extensions, and provisions them — no browser required. hal0 ships with no models pre-loaded by design; setup is where you pick your first ones (or skip and configure manually later).

Terminal window
hal0 setup

hal0 setup is a two-column terminal app: an interactive picker on the left over an always-on context pane (detected RAM, GPU, NPU) on the right. It walks:

  1. Model storage — the directory every slot container reads and writes model files to. Defaults to /var/lib/hal0/models; override with --storage-dir.

  2. Extensions — opt-in apps and agents, auto-wired on apply:

    ExtensionKindDefault
    Open WebUIappon
    ComfyUIapp (image/video, iGPU)on
    Hermesagent (conversational, with memory)on
    Piagent (coding)off
  3. Main model — the chat model for the chat slot, picked from a short list of curated suggestions ranked to fit your detected RAM (see below).

  4. Agent model — the model backing the coder slot used by agent/coding extensions (Hermes’ coding tools, Pi), from the same kind of ranked list, biased toward coder-tagged picks.

  5. NPU — when an AMD XDNA NPU + FastFlowLM are present, a yes/no prompt records whether to opt in to NPU inference for this install.

Setup then applies your selection — in-process when run at install time, or via the running API (POST /api/install/apply-selections) when the daemon is up — creating the slot containers in OFFLINE and seeding background model pulls. It writes the first-run sentinel on completion.

The Main and Agent model steps each show up to three curated picks — largest-that-fits-your-RAM first, with one starred as recommended — filtered to hal0’s curated model catalogue (so anything you pick already validates against the registry; nothing is invented on the fly):

ColumnShows
ModelDisplay name of the curated pick
SizeOn-disk size in GB
CtxNative context length
BackendThe runtime profile it launches with (e.g. rocm-dnse, vulkan, cpu-llm)

The Agent model step ranks coder-tagged models first, falling back to general chat picks if none fit — the coder slot should never come up empty just because no dedicated coding model fits your RAM.

The NPU step (step 5) is offered independently of these suggestions, whenever AMD XDNA + FastFlowLM hardware is detected.

FlagEffect
--autoNon-interactive; apply the recommended defaults.
--storage-dir <path>Model storage directory (default /var/lib/hal0/models).
--no-pullCreate slots + write the sentinel, but download nothing.
--no-extensionsSkip extensions (under --auto).