Skip to content

Install from the command line

obinstall-cli installs Obarun without asking anything. It reads a single TOML file and runs the same pipeline as the wizard, so both produce strictly equivalent systems. Use it for ISO production, continuous integration, and any installation you want to be able to repeat exactly.

The Obarun install images are themselves built this way: iso-builder calls obinstall-cli on a mounted image file, the same way an operator would call it on a disk.

What it does not do

The command line installs onto a pre-mounted target

Partitioning, mounting and bootloader installation are the operator's responsibility. obinstall-cli starts once the target root is mounted. If you want those steps driven for you, use the wizard.

A minimal configuration

[target]
newroot   = "/mnt"
cache_dir = "/var/cache/pacman/pkg"

[install]
theme = "minimal"

[system]
hostname = "obarun"
locale   = "en_US.UTF-8"
timezone = "Europe/Paris"

Partition and mount your target first, then:

# obinstall-cli --config install.toml

Where values come from

Four layers feed an installation. The highest one that sets a value wins:

CLI flag  >  your TOML  >  theme manifest  >  bootstrap

The bootstrap layer, /etc/obarun/obinstall/bootstrap.toml, is owned by the Obarun maintainers and carries the strict core. The theme manifest carries the package list, the services and the identity defaults of minimal or jwm. Your file overrides what you care about, and a command line flag overrides that.

Package lists and service lists are additive across layers. The [[users]] array is not: if you declare it, it replaces the theme's users entirely.

Two rules bite often enough to be worth knowing up front:

  • Unknown keys are a hard error, at any nesting level. A typo does not pass silently.
  • Passwords are given as crypt(3) hashes, never in clear. Generate one with openssl passwd -6 'your_password'.

Sub-commands

$ obinstall-cli validate install.toml

Lints the file before you use it. Run it every time you edit a configuration.

# obinstall-cli cleanup

Unmounts the chroot stack after a failed run, so you can retry from a clean state.

Full reference

The wiki does not repeat the schema. The authoritative documents live in the obinstall repository:

Next

First boot.