Skip to content

flox/flox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,269 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The software environment platform: one manifest, every environment, from laptop to production. All the power of Nix, none of the learning curve.

GitHub stars Latest Release License: GPL v2 Built with Nix Slack Discourse

Flox introductory demo


Flox is a software environment platform for engineering teams that delivers cryptographically pinned, reproducible environments, identical from a developer's laptop through CI to production. Built on Nix, with Nix knowledge optional, Flox eliminates environment drift, strengthens software supply chain security, and gives AI coding agents a deterministic foundation to build on.

It's more than a package manager: where traditional package managers work on a single machine, Flox manages the lifecycle of packages and environments across your entire organization.

  • Declarative. One file describes every tool, environment variable, and service your project needs.
  • Reproducible. The same definition produces the same environment on any supported system.
  • Composable. Layer environments per project, per team, and per pipeline.
🚀 Try it 👥 Standardize ✅ Kill drift 🔁 Match CI
Get Flox running in 5 minutes
One command. A working environment.
Share one environment
Same packages, every teammate.
How Resolve AI did it
A real team's before-and-after.
Reproducible CI builds
Same environment, dev to CI.

Who Flox is for

  • Platform & DevX teams standardizing toolchains across the org, cutting onboarding from days to minutes, and extending golden base environments while keeping standards intact, without forcing everyone to learn Nix.
  • Security and AppSec teams who need SBOMs, fast CVE remediation, dependency provenance, and reproducible builds across every service.
  • Developers who want one reproducible, per-project environment for any stack on macOS, Linux, or Windows (WSL2). More like a virtual environment than a container or VM, with nothing to spin up before you code.
  • AI coding agents that need a deterministic, reproducible environment to build and run generated code the same way on every run.

Why Flox?

  • Reproducible by construction. Every environment is defined in a declarative manifest and locked to cryptographically pinned, content-hashed inputs. The same lockfile resolves to the same packages on every supported system, so environments stay identical across machines. No drift.
  • One definition, laptop to production. The same environment runs on a developer's laptop, in an AI agent's sandbox, through CI, and in production. Tutorial.
  • 120,000+ packages. Pull from Nixpkgs, the largest open source package repository, updated continuously.
  • Build and package your own software. Build custom software from source into reproducible packages and publish them for your whole team, alongside everything from Nixpkgs. Learn more.
  • A software supply chain you can defend. SBOMs, automated vulnerability and CVE patching, software composition analysis (SCA), and clean, auditable builds fall out of reproducibility instead of being bolted on afterward. Learn more.

Install

The Flox CLI installs natively on macOS, Linux, and Windows (WSL2):

  • macOS: brew install flox, or the .pkg installer
  • Linux: .deb (Debian/Ubuntu) or .rpm (Fedora/RHEL) packages
  • Windows: via WSL2, using the Linux packages

See the installation guide for step-by-step instructions on every platform.

Quick Start

$ flox init                        # Create an environment in your project
⚡︎ Created environment 'my-project' (aarch64-darwin)

$ flox install python3 nodejs      # Install packages (any combination of tools)
✔ 'python3', 'nodejs' installed to environment 'my-project'

$ flox activate                    # Enter the environment
flox [my-project] $ python3 --version
Python 3.13.13
flox [my-project] $ node --version
v24.15.0

flox [my-project] $ exit           # Leave, and the tools are gone
$ python3 --version
python3: command not found

📖 New here? Follow Flox in 5 minutes to walk through it step by step.

That's the core idea: tools appear when you activate, and disappear when you leave. Each environment is isolated, so projects never collide and your system stays clean. And because it lives in a file, the same environment reproduces everywhere: laptop, CI, and production.

⭐ If Flox looks useful, give us a star. It helps others discover the project. ⭐


What You Can Do with Flox

Capability What it means
Create flox init Declarative environments that live alongside your code and activate automatically. Tutorial →
Search flox search Find any package from 120,000+ in Nixpkgs instantly. Reference →
Share flox push / flox pull Every teammate pulls an identical environment from a single source of truth on FloxHub (our hosted environment registry). Tutorial →
Containerize flox containerize Ship any Flox environment into your existing container workflow as an OCI image, no Dockerfile required. Reference →
Build & publish flox build / flox publish Build your own software from source into reproducible packages, and publish them for your team to install. Blog →
Services flox services start Run databases, queues, and background processes as part of your environment (a lightweight alternative to Docker Compose for local development); they start on activate and stop on exit. Concepts →
Configure manifest.toml Define environment variables, shell hooks, and activation scripts declaratively alongside your code. Manifest reference →
AI-ready Works with Claude Code, Cursor, Copilot, and Codex Give AI coding agents a deterministic, reproducible environment so generated code builds and runs the same on every run. flox-agentic →

Origin: Flox emerged from one of the largest enterprise Nix deployments in the world, at the D.E. Shaw group, where it made Nix accessible at scale across a large engineering organization.


For platform teams

Real teams using Flox: Fellow.ai ships faster · Resolve AI eliminated works-on-my-machine.

Rolling this out across your organization (private registry, SSO, self-hosting, support)? Talk to us.


FAQ

Is Flox a package manager?

Flox does manage packages, so in part yes, but it's more than a package manager. Traditional package managers work on a single machine; Flox manages the lifecycle of packages and environments across your whole organization, delivering complete, reproducible, shareable environments, not just installed packages. That makes it a software environment platform.

How is Flox different from Docker?

Flox is not a container technology, and it is not a Docker replacement. The difference: Flox believes software packaging should be distinct from the chosen type of isolation. With Docker, packaging and container isolation are often mixed together. Flox environments work the same on bare metal, in VMs, and in containers. The flox containerize command creates OCI images with the software environment baked in, and works great with Docker, Kubernetes, and other container runtimes.

I already use Nix. What does Flox add?

Flox is additive to Nix, not a replacement. It adds a centralized service, FloxHub, for collaborative environment and package sharing, making it easy to find, use, publish, and share environments across an organization. Flox environments also bundle activation hooks, services, and shell profiles in a single declarative TOML file.

How does Flox help with software supply chain security?

Flox environments are pinned and reproducible, so SBOM generation, software composition analysis (SCA), automated vulnerability and CVE patching, dependency provenance, and clean, auditable builds all become tractable.

Can Flox give AI coding agents a deterministic environment?

Yes. Flox gives AI coding agents (Claude Code, Cursor, Copilot, Codex) a deterministic, reproducible environment so generated code builds and runs against identical dependencies on every run.

Do I need to know Nix?

You don't have to. Flox is powered by Nix but designed so you create, share, and run environments, and even some builds, without writing Nix. If you do know Nix, you can drop into it directly when you need to.


Community & Support

Security

We encourage responsible disclosure of potential security issues. For any security-related inquiry, please contact us at: [email protected]

Contributing

We welcome contributions! Please read the Contributor guide first.

License

The Flox CLI is licensed under the GPLv2. See LICENSE.