Welcome to the new unified Determinate docs experience!
FlakeHubConceptsFlake versioning

Tagged vs. rolling versioning

FlakeHub supports two methods of versioning your flakes: tagged and rolling.

Tagged

Tagged releases are better suited for projects that follow SemVer and have a defined release cadence. The versioning scheme of tagged flakes is up to the author, as long as it conforms to SemVer. An example of this kind of flake is the fh flake.

Rolling

Rolling versions are ideal for projects that see a constant stream of commits and releases. The versioning scheme of rolling flakes has:

  • A SemVer major version of 0
  • A SemVer minor version of 1 (for the NixOS unstable rolling release train)
  • A SemVer patch version of the number of commits that were on that branch at that time

Here’s a visual representation:

0.1.${number of commits}

Nixpkgs is an example of a flake with rolling versioning. Release 0.1.494976, for example represents the 494976th commit within the unstable epoch.

Consult the Publishing guide to see how to enable this.