All shelves
Development environments
Ways to define a working environment as something you can rebuild: a whole operating system, a container that borrows another distribution's tooling, or a shell scoped to one project. The shelf runs from the most opinionated to the most contained.
How much of my setup do I want to declare, and how much do I want handed to me?