Reproducible developer environments for any stack — install 120,000+ packages, share environments with your team, and build container images. Powered by Nix, but you don't have to know Nix.
- Works on macOS and Linux — no containers, no VMs, no configuration. Just install and go.
- Perfectly reproducible — share an environment and it reproduces exactly on any machine, every time.
- 120,000+ packages — powered by Nixpkgs, the largest open source package repository, updated continuously.
Flox provides native packages for each supported platform:
- macOS —
pkginstaller or Homebrew - Linux —
.deb,.rpm, or standalone tarball
See the installation guide for step-by-step instructions.
$ flox init # Create an environment in your project
✨ Created environment my-project
$ flox install python3 nodejs # Install packages — any combination of tools
✅ python3 installed
✅ nodejs installed
$ flox activate # Enter the environment
flox [my-project] $ python3 --version
Python 3.12.4
flox [my-project] $ node --version
v20.15.0
flox [my-project] $ exit # Leave — and the tools are gone
$ python3 --version
python3: command not found
That's the core idea: tools appear when you activate, and disappear when you leave. Your global system stays clean. Your project stays reproducible.
📖 Ready to dive deeper? Check out the full documentation for tutorials and guides.
⭐ If Flox looks useful, give us a star — it helps others discover the project. ⭐
| Capability | What it means | |
|---|---|---|
| Create | flox init |
Declarative environments that live alongside your code and activate automatically |
| Search | flox search |
Find any package from 120,000+ in Nixpkgs instantly |
| Share | flox push / flox pull |
Push to FloxHub; anyone on your team pulls an identical environment |
| Containerize | flox containerize |
Generate OCI-compatible images directly from your Flox environment — no Dockerfile required |
| Services | flox services start |
Run databases, queues, and background processes as part of your environment — they start on activate and stop on exit |
| Configure | manifest.toml |
Define environment variables, shell hooks, and activation scripts declaratively alongside your code |
| Editor support | Flox extension | Available for VS Code and any VS Code-compatible editor — manage environments without leaving your IDE |
| AI-ready | Works with Claude Code, Cursor, Copilot, and Codex | Prompt any AI coding assistant to create or modify a Flox environment and it Just Works — see 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.
Flox is a higher-level interface that adds environment sharing, activation hooks, and FloxHub without changing how you use nixpkgs. Not using Nix? You don't need to learn it — Flox handles everything.
- Documentation — tutorials, reference, and guides
- FloxHub — discover and share environments
- Discourse — questions, discussions, and announcements
- Blog — deep dives and workflows
- Slack — real-time chat with the team
- YouTube — demos and walkthroughs
- GitHub Issues — bug reports and feature requests
Questions? Want help getting started? Join us on Slack — we'll walk you through it.
We encourage responsible disclosure of potential security issues. For any security-related inquiry, please contact us at: security@flox.dev
We welcome contributions! Please read the Contributor guide first.
⭐ If you find Flox useful, star the repo — it helps others discover the project and keeps us going.
The Flox CLI is licensed under the GPLv2. See LICENSE.

