Skip to content


With flox, packages are installed into environments. Environments are self-contained collections of packages for which all runtime dependencies are provided by flox independently of your system. Users can have any number of environments, and all users have an environment called default.

Unlike most package managers flox is system-agnostic and can be used alongside other native operating system package managers (e.g. apt, dnf, brew, etc.). flox environments run in an isolated manner; no system files are touched. When packages are installed they are added into a collection of packages called an "environment" rather than into common system paths such as /usr/bin where collisions with the operating system are possible.

This requires environments to be "activated" before they can be used. Conceptually this is similar to the way python virtual environments work, where the current shell PATH variable is prefixed with the paths which define the packages available to that shell.