Skip to content

UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1012

Immutable builder for composing a fishbowl system. Each method returns a new builder.

The builder accumulates Extensions and produces a frozen UnixImage via .build(). Immutability makes forking safe: create a base builder, then derive variants without mutation. Convenience methods (.mount(), .bin(), .env(), .file(), .service()) are sugar over .use().

const base = Unix().use(stdSystem())
const withDb = base.use(sqlite()) // base is not modified
const image = await withDb.build()

bin(name, fn): UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1018

Sugar for .use({ bins: { [name]: fn } }).

string

BinFunction

UnixBuilder


boot(runtime, opts?): Promise<UnixInstance>

Defined in: packages/core/src/kernel/types.ts:1035

Boot an instance from the built image. Requires a runtime (e.g. testRuntime(), nodeRuntime()).

BootRuntime

BootOpts

Promise<UnixInstance>


build(): Promise<UnixImage>

Defined in: packages/core/src/kernel/types.ts:1033

Promise<UnixImage>


catalog(name, factory): UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1032

string

() => Extension

UnixBuilder


env(key, value): UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1020

Sugar for .use({ env: { [key]: value } }).

string

string

UnixBuilder


file(path, content): UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1022

Sugar for .use({ files: { [path]: content } }).

string

string

UnixBuilder


mount(path, server): UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1016

Sugar for .use({ mounts: { [path]: server } }).

string

Fileserver

UnixBuilder


run(command): UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1026

Record a shell command to execute at build time. Executed sequentially by .build().

string

UnixBuilder


service(def): UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1024

Sugar for .use({ services: [def] }).

ServiceDef

UnixBuilder


use(ext): UnixBuilder

Defined in: packages/core/src/kernel/types.ts:1014

Compose an Extension into the builder. Returns a new builder.

Extension

UnixBuilder