UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1012
Immutable builder for composing a fishbowl system. Each method returns a new builder.
Remarks
Section titled “Remarks”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().
Example
Section titled “Example”const base = Unix().use(stdSystem())const withDb = base.use(sqlite()) // base is not modifiedconst image = await withDb.build()Methods
Section titled “Methods”bin(
name,fn):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1018
Sugar for .use({ bins: { [name]: fn } }).
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”UnixBuilder
boot()
Section titled “boot()”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()).
Parameters
Section titled “Parameters”runtime
Section titled “runtime”Returns
Section titled “Returns”Promise<UnixInstance>
build()
Section titled “build()”build():
Promise<UnixImage>
Defined in: packages/core/src/kernel/types.ts:1033
Returns
Section titled “Returns”Promise<UnixImage>
catalog()
Section titled “catalog()”catalog(
name,factory):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1032
Parameters
Section titled “Parameters”string
factory
Section titled “factory”() => Extension
Returns
Section titled “Returns”UnixBuilder
env(
key,value):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1020
Sugar for .use({ env: { [key]: value } }).
Parameters
Section titled “Parameters”string
string
Returns
Section titled “Returns”UnixBuilder
file()
Section titled “file()”file(
path,content):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1022
Sugar for .use({ files: { [path]: content } }).
Parameters
Section titled “Parameters”string
content
Section titled “content”string
Returns
Section titled “Returns”UnixBuilder
mount()
Section titled “mount()”mount(
path,server):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1016
Sugar for .use({ mounts: { [path]: server } }).
Parameters
Section titled “Parameters”string
server
Section titled “server”Returns
Section titled “Returns”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().
Parameters
Section titled “Parameters”command
Section titled “command”string
Returns
Section titled “Returns”UnixBuilder
service()
Section titled “service()”service(
def):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1024
Sugar for .use({ services: [def] }).
Parameters
Section titled “Parameters”Returns
Section titled “Returns”UnixBuilder
use(
ext):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1014
Compose an Extension into the builder. Returns a new builder.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”UnixBuilder