# Flox — Deterministic Development Environments Powered by Nix > Flox is a developer tool that creates reproducible, shareable development environments using the Nix package ecosystem, without requiring you to learn the Nix language. ## Install Save in your project root: # Flox — Deterministic Development Environments Powered by Nix ## Quick Use ```bash curl -fsSL https://flox.dev/install | bash flox init flox install nodejs python3 postgresql flox activate ``` ## Introduction Flox provides deterministic development environments that work the same on every machine. It uses the Nix package manager under the hood but wraps it in a CLI that feels familiar to anyone who has used apt, brew, or conda. The result is reproducible environments without the Nix learning curve. ## What Flox Does - Creates isolated development environments with pinned package versions - Shares environments across teams via a simple manifest file - Provides access to over 100,000 packages from the Nixpkgs repository - Works on macOS and Linux without containers or VMs - Activates environments instantly with a single command ## Architecture Overview Flox wraps the Nix package manager and Nixpkgs repository behind a conventional CLI. Environments are defined in a TOML manifest file that lists packages, environment variables, and shell hooks. When activated, Flox modifies the shell PATH and environment to include only the specified packages. Nix handles the actual package building, caching, and isolation. ## Self-Hosting & Configuration - Install with a single curl command on macOS or Linux - Initialize a new environment with flox init in any project directory - The manifest.toml file tracks all environment configuration - Packages are cached locally in the Nix store for fast activation - Supports custom Nix channels and FlakeHub for additional package sources ## Key Features - Reproducible environments that eliminate works-on-my-machine problems - No Docker or VM overhead — environments run natively - Composable environments that can layer on top of each other - Built-in support for environment variables and activation hooks - Searchable package catalog with flox search ## Comparison with Similar Tools - **Devbox** — also Nix-based; Flox adds environment sharing and composability features - **Docker** — container-based isolation; Flox runs natively without a daemon - **conda** — Python-focused environment manager; Flox covers any language - **asdf / mise** — version managers for runtimes; Flox manages entire environments including system libraries - **direnv** — environment variable switching; Flox adds full package management on top ## FAQ **Q: Do I need to know Nix to use Flox?** A: No. Flox provides a conventional CLI. You do not need to write Nix expressions. **Q: Can I use Flox in CI/CD?** A: Yes. Flox environments can be activated in CI pipelines for reproducible builds. **Q: How large is the package repository?** A: Flox uses Nixpkgs, which contains over 100,000 packages covering most languages and tools. **Q: Does it work on Windows?** A: Flox supports macOS and Linux natively. Windows support is available via WSL2. ## Sources - https://github.com/flox/flox - https://flox.dev --- Source: https://tokrepo.com/en/workflows/asset-fe2a554e Author: AI Open Source