Getting Started

Install


git clone https://github.com/Beach-Bum/OMA-Library-OS.git
cd OMA-Library-OS
make build

821KB binary. Needs Rust to build, nothing to run.

First boot


oma

The library creates itself at ~/oma-library/. Twelve founding documents appear on the shelves. A journal starts recording. A librarian daemon begins maintaining the collection. A dreamer begins composing in the background. You're in.


╔═══════════════════════════════╗
║    THE OPEN MANUAL ARCHIVE    ║
╚═══════════════════════════════╝

You are standing in the Entrance Hall.
The lights are on. The shelves are full.
A document rests on the desk: "welcome"

How would you like to begin?

  1  Read the welcome letter
  2  Explore the library
  3  Start writing

Pick a number or type any command. The tour is a door, not a wall.

Configuration

VariableDefaultPurpose
OMA_ROOT~/oma-libraryLibrary location
USERsystem usernameReader name in journal

OMA_ROOT=/mnt/usb/my-library oma    # custom location

Embedded programs

Run a ΦΜΛ program hidden in a document's whitespace:


oma --embedded path/to/document

Uninstall


rm ~/.local/bin/oma      # remove binary
rm -rf ~/oma-library     # remove library

Nothing else to clean. No system files. No hidden state.

Cross-compile for Raspberry Pi


make cross-pi
scp target/aarch64-unknown-linux-musl/release/oma pi@raspberrypi:~/

Bootable image


make image

Produces an initramfs you can boot on a Pi or test with QEMU. The library is the first thing that exists after the kernel.