Skip to content

MergedConfig

Defined in: packages/core/src/image.ts:40

Flattened view of all composed Extensions, ready to build a root FS.

Produced from mergeExtensions and then enriched with catalogEntries inside UnixBuilderImpl.build. Unlike Extension, every field is concrete (no optionals) — downstream code (buildRootFs, executeRunStep) can index without null checks.

Merge semantics mirror Extension merging: later .use() calls win and emit a warning on conflict. Services are order-preserving across the merge; bins / env / files / mounts are last-wins by key.

bins: Record<string, BinFunction>

Defined in: packages/core/src/image.ts:44

Executables to register at /bin/<name>. Last-wins on conflict.


catalogEntries: Record<string, () => Extension>

Defined in: packages/core/src/image.ts:52

Pre-bundled package catalog: name → Extension factory consumed by pkg install.


env: Record<string, string>

Defined in: packages/core/src/image.ts:46

Default environment pairs merged into every process’s env.


files: Record<string, string>

Defined in: packages/core/src/image.ts:48

Seed files to write into the root FS at build time. Keys are absolute paths.


man: Record<string, BinHelp>

Defined in: packages/core/src/image.ts:54

Man page content for bins. Key is the bin name.


mounts: Record<string, Fileserver>

Defined in: packages/core/src/image.ts:42

Mount table: absolute path → Fileserver serving it.


services: ServiceDef[]

Defined in: packages/core/src/image.ts:50

Service definitions supervised by init. Preserves merge order.