Skip to content

What is the Flox Catalog?

A Flox Catalog is a collection of package artifacts and associated metadata that can be consumed via a Flox Environment. The contents of a catalog can be searched, shown, and installed into an environment by way of theflox search, flox show, and then flox install commands.

There are two types of catalogs:

The Base Catalog is populated by Flox and contains packages over time as maintained by the Nix Community by way of The Nixpkgs Collection.

Custom Catalogs are maintained by the Users and Organizations that own them by way of the flox publish command, as described in the [Build][manifest-builds] and [Publish][publishing] reference.

The visibility of Custom Catalogs can be public or private, and packages from all types of catalog are consumed by way of the same flox (search|show|install) commands.

It can also be consulted on https://hub.flox.dev/packages.

A package is a collection of computer programs and related data that are bundled for distribution together on a UNIX-based computer system. Packages are declared in the environment manifest.

Base Catalog and nixpkgs

The built-in catalog is called the Base Catalog, and contains a wide variety of open source packages you can use in your environments. The Base Catalog uses nixpkgs as an input. Nixpkgs is a community maintained project, but the Base Catalog is maintained by Flox. Upstream changes in nixpkgs are reflected in the Flox Catalog daily from the unstable branch of nixpkgs.

Supported package metadata

  • pkg-path: unique location in the Flox Catalog.
  • version: semantic version of the package.
  • license: license metadata.
  • unfree: indicates if the software uses a license not defined as Open Source by the Open Source Initiative (OSI).
  • broken: indicates if the package is marked as broken in nixpkgs.