Decision 0022
Netinstall and offline ISOs; the installer is Tacid in genesis mode
Architecture decision record 0022: Netinstall and offline ISOs; the installer is Tacid in genesis mode
Context
“We have an ISO that you can use to install, then the system is self-improving.” The ISO must be small enough to download and complete enough to work with no network; those two do not coexist in one file (review).
The three plans
- Grok: a TUI installer with five questions; the core ISO under 800 MB without weights; models as a second artifact; USB model packs.
- Fable:
mkIso; a TUI installer;nixos-anywhere; “Tacid on top of your existing NixOS”. - Codex: build the installer late; a ten-step branded flow; GPU detection; AI setup; first boot that feels finished.
Decision
Two artifacts: netinstall (≤ ~1 GB: kernel, daemons, TUI, no graphical closure, no weights)
and offline (several GB: the graphical closure plus the tiny model so the first boot is not
mute); USB model packs for airgapped sites. The installer is not separate code: the stem, the
keeper and tacidd run in genesis mode on the live system, driven by the TUI over the console
or a serial line; disk operations are typed stem operations on a previewed disko plan; the output
is the first genome and generation. Flow: keyboard, network (optional), disk, encryption
(TPM2 + PIN, recovery key), owner key and user, hardware profile with the NVIDIA choice, autonomy
level, mind (local profile sized to hardware; optional cloud key into the keeper), review, install.
Secure Boot enrollment is a post-install command. First boot: the agent introduces itself,
verifies hardware against facts, offers models. Also nixos-anywhere and
inputs.tacidos.nixosModules.default on an existing NixOS. The ISO lands in Phase 3, after the
spine and the senses and before the graphical shell, because a self-updating TUI machine is a
complete product.
Consequences
- No special-case installer code to secure; genesis is a transaction.
tacid versionprints full provenance from the first boot.
Alternatives rejected
- One ISO: either too large to download or mute offline.
- Building the installer first (against Codex’s advice, which stands): the spine comes first.