UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1969
Immutable builder for composing a fishbowl system. Each method returns a new builder.
Consumed — obtain one from Unix() (no args) and chain .use() / sugar methods, then .build() to produce a frozen image.
Remarks
Section titled “Remarks”Accumulates Extensions and produces a frozen UnixImage via
.build(). Immutability makes forking safe. Sugar methods (.mount(),
.bin(), .env(), .file(), .service()) delegate to .use().
Caveat
Section titled “Caveat”Conflicts between merged extensions surface as console.warn at
.build() time, not as exceptions. For silent merging, use
mergeExtensions({ silent: true }, ...) directly.
Example
Section titled “Example”import { Unix, stdSystem } from '@fishnet/core'const base = Unix().use(stdSystem())const image = await base.file('/etc/motd', 'hi').build()Methods
Section titled “Methods”bin(
name,fn):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1975
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:1992
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:1990
Returns
Section titled “Returns”Promise<UnixImage>
catalog()
Section titled “catalog()”catalog(
name,factory):UnixBuilder
Defined in: packages/core/src/kernel/types.ts:1989
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:1977
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:1979
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:1973
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:1983
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:1981
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:1971
Compose an Extension into the builder. Returns a new builder.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”UnixBuilder