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
Unlike most package managers flox is system-agnostic and can be used alongside
other native operating system package managers (e.g.
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.