Whiteboard fieldcraft
The board is what you are delivering. Each of the four boards in this guide can be drawn in under five minutes, and each ends with one rule written at the bottom that the customer can take away.
This page is drawn from https://flox.dev/docs/concepts/environments, https://flox.dev/docs/tutorials/sharing-environments, https://flox.dev/docs/concepts/flox-vs-containers and https://flox.dev/docs/man/flox-activate.
Ask, draw, validate
- Ask three questions before you pick up a marker. What runs today, and where: laptops, CI runners, containers, clusters? Who builds and who runs it? What happens to the business when two machines disagree about a version? That last one is the Flox pitch in one line: Flox sells packaging that is “distinct from the chosen type of isolation” (https://flox.dev/docs/concepts/flox-vs-containers).
- Draw from the left. The manifest and lock file sit at the left, because an environment is “a shell that provides a collection of environment variables, software packages, and activation scripts” and everything else consumes it (https://flox.dev/docs/concepts/environments). Laptop, CI and cluster go on the right, arrows flowing out of the
.floxfolder. - Say what you are drawing as you draw it. Every box gets one spoken sentence. The Say: lines on each board are written for that.
- Validate at every step. After each big arrow, ask “Is that right for you?” and fix the board on the spot.
- Write the rule at the bottom, for example the manifest travels, the machine does not matter (https://flox.dev/docs/tutorials/sharing-environments).
Shared shapes and colors
| Shape | Means |
|---|---|
| Folder | A .flox directory holding manifest.toml and manifest.lock (https://flox.dev/docs/concepts/environments) |
| Rounded rectangle | FloxHub, where a pushed environment is versioned in generations (https://flox.dev/docs/concepts/generations) |
| Square | A place that runs flox activate: laptop, CI job, container, agent sandbox |
| Cylinder | A service the environment starts, or external data |
| Green arrow | flox activate, or flox pull / flox push |
| Red arrow | Drift: a machine whose packages differ from the lock file |
The four boards
- New hire to first commit. Laptop, repo with a
.flox, one command. - Laptop, CI and container. One manifest, three consumers.
- Imageless Kubernetes. A pod that names an environment instead of an image.
- Agent sandbox. The coding agent gets the same toolchain as the human.
Sources for the boards
Every claim on these boards links to a Flox docs page, a Flox blog post or a live flox.dev page, listed in the text. When you are not sure, stop drawing and open the page: https://flox.dev/docs/concepts/environments.
The four boards
new hire to first commit
A laptop, a repo, one command, an identical environment
BOARDlaptop, CI and container
One manifest feeding a laptop, a CI runner and an OCI image
BOARDimageless Kubernetes
A pod that references an environment instead of an image
BOARDagent sandbox
An agent that gets the same toolchain as the team
← The company and the Nix world · Board: new hire to first commit →