Docs / Getting started

Install Lisa OS.

Lisa is an immutable, image-based OS (alpha). Flash the latest USB image and boot it — it runs from the stick, then installs to disk when you're ready. Updates are A/B with boot-counting rollback: a bad boot flips back automatically, and GitHub Releases are the update channel.

1. Flash and boot

Download lisa-usb-<version>.raw.zst from Downloads (or the latest GitHub release), then:

# Decompress and write to a USB stick (erases the stick):
zstd -d lisa-usb-*.raw.zst -o lisa.raw
sudo dd if=lisa.raw of=/dev/<your-usb> bs=4M status=progress oflag=sync

Boot from the stick. The image ships a GNOME desktop with the Lisa shell surfaces — verified on a real 2017 iMac as well as QEMU.

2. Install to disk

# From the booted system — writes the newest release onto the
# internal disk. ERASES IT; asks for typed confirmation first.
lisa install /dev/<internal-disk>

This is the proto-installer: it streams the latest release onto a whole disk. A guided OOBE installer is milestone M7. Fresh installs get a dedicated /home partition (ADR-0019), so settings and keys survive OS updates.

3. Stay updated

# Pull the newest OS release into the inactive A/B slot
# (systemd-sysupdate) and reboot into it:
lisa update --reboot

# Devices also auto-stage updates via systemd-sysupdate.timer.

# Shell apps update independently of the OS image — minutes,
# no reboot, atomic rollback (ADR-0020):
lisa apps update
lisa apps status
lisa apps rollback
Honest hardening note (from the release notes): sysupdate currently runs with Verify=no — artifact integrity is sha256 via SHA256SUMS; GPG-signed manifests land with the M1 signed repo.

First contact with the intelligence

Once booted, the system model is an OpenAI-compatible endpoint on loopback — no keys, no cloud:

lisa ask "write a haiku about entropy"        # streams local tokens
git log | lisa ask "changelog, markdown"      # pipes are context
curl 127.0.0.1:7777/v1/chat/completions ...   # any OpenAI client works

See the CLI reference for every verb and the API reference for the HTTP and D-Bus surfaces.

Building from source

The daemons and CLI are a Rust workspace; just is the umbrella. Requires Rust stable (1.97+).

git clone https://github.com/Lisa-AgenticOS/lisa-os.git && cd lisa-os
just build   # cargo build --workspace
just test    # cargo test --workspace
just smoke   # end-to-end: daemon + lisa ask
just image   # mkosi OS image — Linux only, normally CI's job

The Rust workspace builds and tests on macOS and Linux; image/systemd/portal work is Linux-only and runs in CI. Two delivery tracks exist (ADR-0003): Track L, a pacman layer on stock Arch/Omarchy (os/layer/), and Track I, the immutable mkosi image (os/mkosi/).