flox, Nix for Simplicity & Scale
13 October 2022
flox is a first-of-its-kind environment manager. Seamlessly create new polyglot developer environments. Make everything reproducible from package management to builds.
We are very excited to share what we've been working on, and to continue gathering feedback from the developer community as we build.
So, what is flox, and why did we build it?
We started flox out of excitement for the enormous value that Nix can bring to developers. We created flox to provide a best in class environment manager, from project initialization to package management to CI, supporting the workflows of individuals and teams, large and small.
Over the last 20 years since its creation, Nix has successfully demonstrated a new model for packaging, building, and distributing software. We think the Nix model will have profound implications for computing. Nix is incredibly powerful, yet not widely adopted. Coupled with Nixpkgs (the largest collection of packages in the public domain) we think Nix is too good to be anything less than the de facto standard for packaging software.
At the same time, people shouldn’t have to become a Nix expert in order to use it effectively. Our central mission is to make Nix's superpowers more accessible to a broader audience of developers, teams and enterprises . While we are just at the beginning, we hope our fellow Nix community members find flox to be a natural way to help introduce Nix to your coworkers, projects, and communities.
In short, flox is Nix for simplicity and scale.
Off the bat, flox significantly improves the status quo for developer tooling in a matter of minutes, without interfering with your existing environment, Nix-based or otherwise:
- a multi-platform and reproducible environment manager: test and run the same bits everywhere
- an intuitive git-like workflow for sharing composable environments: collaborate, distribute, and onboard seamlessly, and never hear “works on my machine!” again
- a “publish” primitive to share the output of builds: track, reuse, and provide the result of your builds
- the “flox Catalog”, a reliable interface to Nixpkgs, providing only packages that are ready to download from the biggest collection of software packages in the world
Looking forward, we'll focus on improving the collaboration experience within and across teams, and gathering feedback from our existing users. We will also be open sourcing key parts of our tooling for you to inspect, leverage, and remix to your needs. We also plan to start addressing enterprise-grade problems in the realms of package distribution, compliance, security, and transparency.
We are eager to help you integrate custom solutions to your team or organization’s needs. Please reach out.
Our Commitment to Nix
The future is Nix-native and we are not just betting on it: Nix is in our DNA. As an explicit part of our culture, we will continue to support Nix, the many amazing tools that are and will be built on it and the community through direct contributions to the NixOS Foundation, open source, sponsorships, evangelizing and organizing events.
One of our key goals is growing Nix itself: flox will always provide seamless compatibility in and out of Nix. Our efforts center on onboarding more developers onto Nix via flox, providing a happy path for them to grow into the wider Nix ecosystem.
Sign up for the beta and we’ll provide login and documentation to get you started. Join the discussion on Discourse to ask questions, suggest enhancements, or report bugs. We'd love to hear what you think!
We’re excited to see what you'll do with flox.
About the author:
Ron Efroni and Michael Brantley are co-founders of flox, a company dedicated to bringing Nix to work.