NAME
flox-build-update-catalogs - Update the project catalog lockfileSYNOPSIS
DESCRIPTION
Scan the project’s Nix expression builds (.nix files under
.flox/pkgs/) for catalogs.<catalog>.<package> references and lock
them to .flox/catalog.lock.
There is exactly one catalog lock per project. It pins the source of
every catalog reference the project’s expressions make, resolved as a
union in a single request, so that every build of a revision evaluates
against one consistent set of inputs. Commit the file alongside the
manifest.
A committed lock is used exactly as it is found: flox build and
flox publish never rewrite it. When the project’s expressions gain a
reference the lock does not cover, re-run flox build update-catalogs
and commit the result. References the scanner cannot fully resolve are
pinned conservatively; a package newly referenced beneath one of them
cannot be detected as missing from the lock and instead fails during
evaluation. Re-running flox build update-catalogs resolves this as
well. Without a committed lock, builds resolve the references of the
packages being built fresh on every invocation.
OPTIONS
Environment Options
If no environment is specified for an environment command, the environment in the current directory or the active environment that was last activated is used.-d, --dirPath containing a .flox/ directory.
General Options
-h, --helpPrints help information. The following options can be passed when running any
flox subcommand
but must be specified before the subcommand.
-v, --verboseIncrease logging verbosity. Invoke multiple times for increasing detail.
-q, --quietSilence logs except for errors.
SEE ALSO
flox-build
flox-publish