Skip to content

What is a generation?

Generations refer to a version number of an environment on FloxHub. Both imperative and declarative commands that modify an environment on FloxHub increment the generation number for the environment.

Read more about creating your first generation in the sharing guide.

First generation

The first environment generation (1) is created when you use flox push to send an environment to FloxHub.

New generations

New generations are created automatically when you use a CLI command that modifies the environment, such as flox install or flox edit.

Staged local generations

With a centrally managed environment new local generations are staged automatically. Suppose you flox pull an environment at generation 15 on FloxHub. If you now run flox install three times then you will have generations 16-18 locally. The next flox push would sync these three new generations to FloxHub if you have permission to write to the environment.

Generation lock

Centrally managed environments that are pulled with flox pull will store a generation lock which describes the current pulled generation. This allows this environment to advance to newer generations explicitly on the next flox pull.