07 · 4 layers

Profiles, bundles and layers

What your machine boots is not a fixed program, it is a tree of pieces composed in four layers.

  • Profile A named configuration Lists which bundles it stacks, keeps the external plugins you installed and holds your own settings
  • Bundle A package of pieces The way to distribute a set of pieces together with the configuration that mounts them

The order of application is always the same, and understanding that order avoids most surprises.

OrderLayerWhere it comes from
1The bundlesIn the order they are declared
2Your profile settingsThe profile you picked
3Your machine settingsThe general configuration of the machine
4What you pass at launchThe command arguments

What to know before touching anything

The arguments you pass at launch are not another configuration layer, even though they look like one. They are a different thing, and the pieces that need them read them on their own.

Technical detail optional

The three bundles that ship by default are the base one, which brings model adapters, tools, persistence, isolation, settings and credentials; the web application one; and the headless execution one. The base one is always the first layer of any profile. Each bundle declares itself in its package.json under the dsh key.