# Flox
> Flox is a developer environment manager built on Nix. You declare a project's packages, environment variables, services, and build steps once in a `manifest.toml`; Flox resolves that to a lockfile, and every target runs that exact closure — a developer laptop, a CI runner, a container image, or an AI coding agent's sandbox.
This file indexes the Flox reference documentation at https://flox.dev/docs. Positioning, product and use case pages, customer stories, and the blog are indexed separately at https://flox.dev/llms.txt.
Every page listed below is served as clean Markdown at the URL shown; drop the `.md` suffix for the rendered HTML page. The full documentation corpus, concatenated for one-shot ingestion, is at https://flox.dev/docs/llms-full.txt.
A `.flox/` directory in a repository means that project uses Flox to manage its dependencies and environment lifecycle.
Instructions for AI coding assistants:
- Do not run bare `flox activate`. With no command argument it launches an interactive sub-shell, which will hang a non-interactive harness. Use one of the two non-interactive forms:
- `flox activate -d
-c ''` runs the command in a shell with hooks and profile scripts applied. Prefer this form.
- `flox activate -d -- ` is exec mode: it replaces the process and does not run profile scripts.
- Install packages with `flox install`, not with the system package manager. Inside a Flox environment, do not reach for `apt`, `yum`, `dnf`, or `brew` to add a dependency.
- Edit `.flox/env/manifest.toml` directly rather than running `flox edit`, which opens `$EDITOR` interactively. Do not invent manifest fields; check the reference at https://flox.dev/docs/man/manifest.toml.md before writing one.
- Package names are Flox Catalog pkg-paths and do not always match nixpkgs attribute paths. Verify with `flox search ` and `flox show ` rather than guessing.
- Flox is not `nix develop` or `nix-shell`. It is built on Nix but has its own CLI surface.
- There is no `curl | bash` installer. `install.flox.dev` and `flox.dev/install` do not exist — do not construct or suggest either. Install from https://flox.dev/download or a package manager; see https://flox.dev/docs/install-flox/install.md.
- Flox runs on Linux and macOS, on x86_64 and aarch64. There is no native Windows build; Windows users run it under WSL2.
Everyday command surface:
```
flox envs # show active and available environments
flox init -d # initialize an environment
flox search # search the catalog
flox show # show versions and details for one package
flox install -d # install packages
flox list -d # list installed packages
flox activate -d -c '' # run a command inside the environment
flox services start # start a service declared in the manifest
flox push / flox pull # move an environment to and from FloxHub
```
Agent skills:
Flox maintains a skill library for AI coding agents at https://github.com/flox/flox-skills. It provides two skills: `flox`, which creates and manages environments, services, builds, containers, and package publishing; and `floxify`, which onboards an existing repository by detecting its runtimes, services, and build tools and writing a manifest so `flox activate` becomes the only setup command a new developer needs.
```bash
# Claude Code
claude plugin marketplace add flox/flox-skills
claude plugin install flox@flox-skills
# Codex, from a clone of the repository
codex plugin marketplace add .
codex plugin add flox@flox-skills
# Any agent supporting the skills.sh standard (Cursor, Copilot, Windsurf, Gemini, and more)
npx skills add flox/flox-skills
```
Key terms:
- Environment — a reproducible set of packages, variables, services, and build steps, declared in a manifest and resolved to a lockfile.
- Manifest — `.flox/env/manifest.toml`, the declarative definition of an environment.
- Generation — a numbered snapshot of an environment on FloxHub. Every change creates one, and any can be diffed or rolled back to.
- Activation — running a command or a shell with the environment applied.
- Flox Catalog — the package set Flox installs from, built and cached continuously.
- Service — a long-running process declared in the manifest and managed with `flox services`.
- FloxHub — https://hub.flox.dev, where environments are stored, versioned, and shared.
## Introduction
- [Introduction](https://flox.dev/docs/index.md): What is Flox?
## Install Flox
- [Install Flox](https://flox.dev/docs/install-flox/install.md): How to install or upgrade the Flox CLI
- [Uninstall Flox](https://flox.dev/docs/install-flox/uninstall.md): How to uninstall the Flox CLI
- [Troubleshooting installation](https://flox.dev/docs/install-flox/troubleshooting.md): How to diagnose and fix common Flox installation issues
- [Extensions](https://flox.dev/docs/install-flox/ide-extensions.md): IDE extensions and AI agent integrations for Flox
## Quickstart
- [Flox in 5 minutes](https://flox.dev/docs/flox-5-minutes.md): Get started with creating Flox environments.
## Tutorials
- [Creating environments](https://flox.dev/docs/tutorials/creating-environments.md): Reproducible environments for any project.
- [The default environment](https://flox.dev/docs/tutorials/default-environment.md): Using Flox as your system package manager
- [Sharing your environments](https://flox.dev/docs/tutorials/sharing-environments.md): Multiple ways to share your environment with others.
- [Layering multiple environments](https://flox.dev/docs/tutorials/layering-multiple-environments.md): Using more than one environment at a time
- [Customizing the shell environment](https://flox.dev/docs/tutorials/customizing-environments.md): Using setup scripts, aliases, and environment variables to improve your workflows.
- [Designing cross-platform environments](https://flox.dev/docs/tutorials/multi-arch-environments.md): Creating environments that run on different systems.
- [Build and publish packages](https://flox.dev/docs/tutorials/build-and-publish.md): Building and publishing custom packages with Flox
- [Using a newer version of a package](https://flox.dev/docs/tutorials/overriding-packages.md): Override the build recipe of a package from the Flox Catalog to install a newer version that is not yet available.
- [Running Flox in CI/CD](https://flox.dev/docs/tutorials/ci-cd.md): Integrate with your favorite CI/CD platform.
- [Reusing and combining developer environments](https://flox.dev/docs/tutorials/composition.md): How to build developer environments out of reusable building blocks.
- [Selecting package outputs](https://flox.dev/docs/tutorials/package-outputs.md): Learn how to intentionally declare which parts of a package you want to install
- [Flox + CUDA tutorial](https://flox.dev/docs/tutorials/cuda.md): It's easy to install and use the CUDA Toolkit with Flox
- [Flox and systemd](https://flox.dev/docs/tutorials/flox-and-systemd.md): Run Flox environment services as persistent systemd units.
- [Installing Flox from its repository on Debian and Red Hat](https://flox.dev/docs/tutorials/installing-from-repo.md): Install Flox by adding its official APT or YUM/DNF repository to your Debian- or Red Hat-based Linux distribution so updates flow through your package manager.
## Tutorials: Migration guides
- [Homebrew](https://flox.dev/docs/tutorials/migrations/homebrew.md): Using Flox to replace or augment Homebrew
- [Node Version Manager (nvm)](https://flox.dev/docs/tutorials/migrations/nvm.md): Using Flox to replace nvm
## Imageless Kubernetes
- [Imageless Kubernetes Introduction](https://flox.dev/docs/imageless-kubernetes/intro.md): Imageless Kubernetes is a new way to run Kubernetes backed by Flox environments rather than container images.
- [Tech](https://flox.dev/docs/imageless-kubernetes/tech.md): The tech behind Imageless Kubernetes
- [Configuration](https://flox.dev/docs/imageless-kubernetes/config.md): Configuring Imageless Kubernetes
## Imageless Kubernetes: Installation
- [Amazon EKS](https://flox.dev/docs/imageless-kubernetes/install/eks.md): Installing Imageless Kubernetes to Amazon EKS
- [Self-managed Kubernetes](https://flox.dev/docs/imageless-kubernetes/install/self-managed.md): Installing Imageless Kubernetes to a self-managed Kubernetes cluster
- [Troubleshooting](https://flox.dev/docs/imageless-kubernetes/install/troubleshooting.md): Troubleshooting Imageless Kubernetes installation
- [Upgrading](https://flox.dev/docs/imageless-kubernetes/install/upgrading.md): Upgrading Imageless Kubernetes
- [Uninstall](https://flox.dev/docs/imageless-kubernetes/install/uninstall.md): Uninstalling Imageless Kubernetes from any cluster
## Imageless Kubernetes: Examples
- [GitLab CI](https://flox.dev/docs/imageless-kubernetes/examples/gitlab-ci.md): Demo running GitLab CI with Imageless Kubernetes
- [Web server with Redis on kind](https://flox.dev/docs/imageless-kubernetes/examples/kind-demo.md): Demo running a simple web server backed by Redis on kind
## Concepts
- [What is a Flox environment?](https://flox.dev/docs/concepts/environments.md): Everything you need to know about Flox environments.
- [Activating environments](https://flox.dev/docs/concepts/activation.md): How an environment is activated, and how to make the most of it
- [Auto-activation](https://flox.dev/docs/concepts/auto-activation.md): Activate environments automatically when you enter their directory
- [Compatibility policy](https://flox.dev/docs/concepts/compatibility.md): Compatibility policy
- [What is FloxHub?](https://flox.dev/docs/concepts/floxhub.md): Everything you need to know about FloxHub.
- [FloxHub environments](https://flox.dev/docs/concepts/floxhub-environments.md): Reusable environments that are centrally managed on FloxHub
- [What is a generation?](https://flox.dev/docs/concepts/generations.md): Everything you need to know about generations.
- [What is the Flox Catalog?](https://flox.dev/docs/concepts/packages-and-catalog.md): Everything you need to know about the Flox Catalog and Packages.
- [Package Groups](https://flox.dev/docs/concepts/package-groups.md): How package groups work and when to use them
- [What is the Base Catalog?](https://flox.dev/docs/concepts/base-catalog.md): Everything you need to know about the Base Catalog
- [Services](https://flox.dev/docs/concepts/services.md): Using services with your environment
- [Composing environments](https://flox.dev/docs/concepts/composition.md): How to combine and reuse environments.
- [Understanding Organizations in FloxHub](https://flox.dev/docs/concepts/organizations.md): Roles, access control, and shared ownership of environments across a team
- [Builds](https://flox.dev/docs/concepts/builds.md): Understanding how to build packages with Flox
- [Manifest Builds](https://flox.dev/docs/concepts/manifest-builds.md): Manifest builds with Flox
- [Nix expression builds](https://flox.dev/docs/concepts/nix-expression-builds.md): Nix expression builds with Flox
- [Catalog imports](https://flox.dev/docs/concepts/catalog-imports.md): Import packages from external catalogs for Nix expression builds
- [Publishing](https://flox.dev/docs/concepts/publishing.md): Understanding how to publish packages with Flox
- [Secrets management](https://flox.dev/docs/concepts/secrets-management.md): Managing secrets in Flox environments using just-in-time retrieval
- [Flox vs. container workflows](https://flox.dev/docs/concepts/flox-vs-containers.md): Where Flox environments and container workflows differ, and how teams combine them
## Languages
- [C/C++](https://flox.dev/docs/languages/c.md): Common questions and solutions for using C with Flox
- [Go](https://flox.dev/docs/languages/go.md): Common questions and solutions for using Go with Flox
- [JVM](https://flox.dev/docs/languages/jvm.md): Common questions and solutions for using the JVM ecosystem with Flox
- [Node.js](https://flox.dev/docs/languages/nodejs.md): Common questions and solutions for using Node.js with Flox
- [Python](https://flox.dev/docs/languages/python.md): Common questions and solutions for using Python with Flox
- [Ruby](https://flox.dev/docs/languages/ruby.md): Common questions and solutions for using Ruby with Flox
- [Rust](https://flox.dev/docs/languages/rust.md): Common questions and solutions for using Rust with Flox
## Enterprise and operations
- [Catalog Store](https://flox.dev/docs/customer/catalog-store.md): Create a Catalog Store for publishing your own Flox packages
- [Known issues](https://flox.dev/docs/customer/known-issues.md): Known issues
- [Signing keys](https://flox.dev/docs/customer/signing-keys.md): Create and use signing keys to sign built artifacts
## CLI reference: Overview
- [flox](https://flox.dev/docs/man/flox.md): Developer environments you can take with you.
- [manifest.toml](https://flox.dev/docs/man/manifest.toml.md): Declarative environment configuration format.
- [nix-builds.toml](https://flox.dev/docs/man/nix-builds.toml.md): Catalog configuration for Nix expression builds.
## CLI reference: Setup
- [flox init](https://flox.dev/docs/man/flox-init.md): Initialize a Flox environment.
- [flox auth](https://flox.dev/docs/man/flox-auth.md): FloxHub authentication commands.
- [flox config](https://flox.dev/docs/man/flox-config.md): View and set configuration options.
## CLI reference: Environments
- [flox activate](https://flox.dev/docs/man/flox-activate.md): Activate environments.
- [flox deactivate](https://flox.dev/docs/man/flox-deactivate.md): Deactivate an environment.
- [flox edit](https://flox.dev/docs/man/flox-edit.md): Edit the declarative environment configuration.
- [flox delete](https://flox.dev/docs/man/flox-delete.md): Delete an environment.
- [flox envs](https://flox.dev/docs/man/flox-envs.md): Show active and available environments.
## CLI reference: Packages
- [flox search](https://flox.dev/docs/man/flox-search.md): Search for packages.
- [flox show](https://flox.dev/docs/man/flox-show.md): Show detailed information about a single package.
- [flox run](https://flox.dev/docs/man/flox-run.md): Run a command from a Flox Catalog package.
- [flox install](https://flox.dev/docs/man/flox-install.md): Install packages to an environment.
- [flox uninstall](https://flox.dev/docs/man/flox-uninstall.md): Remove packages from an environment.
- [flox upgrade](https://flox.dev/docs/man/flox-upgrade.md): Upgrade packages in an environment.
- [flox list](https://flox.dev/docs/man/flox-list.md): List packages installed in an environment.
## CLI reference: Sharing
- [flox push](https://flox.dev/docs/man/flox-push.md): Send environment to FloxHub.
- [flox pull](https://flox.dev/docs/man/flox-pull.md): Pull environment from FloxHub.
## CLI reference: Build & Publish
- [flox build](https://flox.dev/docs/man/flox-build.md): Build packages with Flox.
- [flox build clean](https://flox.dev/docs/man/flox-build-clean.md): Clean the build directory.
- [flox build import nixpkgs](https://flox.dev/docs/man/flox-build-import-nixpkgs.md): Import package definition from nixpkgs.
- [flox build update catalogs](https://flox.dev/docs/man/flox-build-update-catalogs.md): Update catalog lockfile for Nix expression builds.
- [flox containerize](https://flox.dev/docs/man/flox-containerize.md): Export an environment as a container image.
- [flox publish](https://flox.dev/docs/man/flox-publish.md): Publish packages for Flox.
## CLI reference: Services
- [flox services start](https://flox.dev/docs/man/flox-services-start.md): Start services.
- [flox services stop](https://flox.dev/docs/man/flox-services-stop.md): Stop running services.
- [flox services restart](https://flox.dev/docs/man/flox-services-restart.md): Restart running services.
- [flox services status](https://flox.dev/docs/man/flox-services-status.md): Display the status of services.
- [flox services logs](https://flox.dev/docs/man/flox-services-logs.md): Show logs of services.
## CLI reference: Generations
- [flox generations list](https://flox.dev/docs/man/flox-generations-list.md): Show all environment generations that you can switch to.
- [flox generations history](https://flox.dev/docs/man/flox-generations-history.md): Show the change log for the current environment.
- [flox generations rollback](https://flox.dev/docs/man/flox-generations-rollback.md): Switch to the previous live generation.
- [flox generations switch](https://flox.dev/docs/man/flox-generations-switch.md): Switch to the provided generation.
## CLI reference: Other
- [flox gc](https://flox.dev/docs/man/flox-gc.md): Garbage collection.
- [flox include upgrade](https://flox.dev/docs/man/flox-include-upgrade.md): Upgrade an environment with latest changes to its included environments.