Flox

GPL-2.0
Platform
Linux macOS Docker
Licence
GPL-2.0 Open source
Website
flox.dev
Flox

Flox is a software environment platform built on Nix that gives you one manifest per project and reproduces it everywhere: a developer’s laptop, CI, and production. It wraps Nix’s package set in a declarative command-line workflow, so a team gets cryptographically pinned, reproducible toolchains without learning the Nix language first.

What a Flox environment is

Each project gets a .flox/ directory holding a manifest that names the packages, environment variables and services it needs. Anyone who enters that environment gets the same versions, whatever their machine or distro already has installed. Environments layer, so a project can build on a shared team baseline and override only where it differs, and they can be pushed to FloxHub to be pulled elsewhere or built into a container image.

What you do with it

  • flox init creates an environment in the current directory.
  • flox install / uninstall / upgrade edit the manifest’s package set instead of mutating a global system.
  • flox activate enters the environment in your shell and exposes its binaries and variables, with flox deactivate to leave.
  • flox edit opens the manifest for variables, activation hooks and services.
  • flox services starts and stops long-running processes an environment needs, such as a database or a dev server.
  • flox push / pull shares an environment through FloxHub; flox build and flox containerize turn it into build outputs or an OCI image.

Why teams use it

The problem it targets is environment drift: the toolchain that worked on one laptop, the CI runner and the production box is three slightly different sets of packages. Because the manifest pins inputs by hash, the same definition resolves to the same store paths, which also gives a supply chain story – you can see exactly which Nix store paths and licences an environment contains. Nix knowledge is optional: the CLI speaks in packages and environments, and the manifest is TOML rather than a Nix expression.

Requirements and limits

Flox ships as a CLI for Linux (x86_64 and aarch64) and macOS (Apple silicon and Intel), installed from its own apt, rpm or Homebrew repository; an official flox/flox container image is published for CI. Installing the binary is open, but search and install resolve packages through FloxHub, so a FloxHub account and flox auth login are required before the first package can be added.

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.