If you run into problems installing Flox, this page will help you diagnose what went wrong and find a solution.Documentation Index
Fetch the complete documentation index at: https://flox-robinbrantley-containers.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Finding install logs
The first step in debugging a failed installation is to find the install logs. The location depends on your operating system.macOS
The macOS system installer logs to/var/log/install.log.
The install log contains logs from installations of other installed macOS packages, so to get just the lines relevant to Flox, run this script:
Linux
On Linux the Flox installer writes a log file to/tmp with a timestamped
filename:
Previous Nix installation
The most common cause of a failed Flox installation is a previous Nix installation on the system. Although the Flox installer attempts to install over an existing Nix installation, it’s possible for a prior installation to end up in a non-standard state that the Flox installer doesn’t know how to handle.Solution: manually cleanup previous installation state
In some cases, it may be possible to workaround an error in the installation log for your system (/var/log/install.log or /tmp/flox-installation.log.*).
This might involve manually removing parts of the pre-existing Nix installation.
Solution: remove the previous Nix installation
The most surefire way to get back to a clean state is to completely remove the prior installation. Note that this will completely remove/nix/store, so all Nix packages will
have to be re-downloaded or re-built.
Flox uninstaller
If you have a partial Flox installation, you can run Flox uninstallation.- MacOS (Pkg)
- MacOS (Homebrew)
- Debian
- RPM
Be sure to back up the system and/or extract any important Nix-related
files and packages before continuing.We recommend rebooting your system after uninstalling Flox.
-
Ensure no running processes are using
/nix. -
Run:
Nix uninstaller
If you have a prior Nix installation but haven’t installed Flox, follow the uninstallation instructions for your existing Nix installation method:- Determinate Nix Installer
- Other Nix installations
Common problems
Orphaned Nix build users (macOS)
On macOS, a previous Nix installation may have created system users named_nixbld1 through _nixbld32.
If these users were not fully removed during uninstallation,
the Flox installer’s post-install script can fail because it expects to create
these users with specific UIDs.
This is particularly common with Nix installations that are two or more years old
(prior to macOS 15).
See NixOS/nix#10892 for background.
Symptoms
The install log (/var/log/install.log) contains an error like:
Solution
Remove the orphaned build users and then re-install Flox.-
Delete the orphaned build users:
-
If the
/nixAPFS volume is still mounted, remove it: - Re-install Flox following the instructions on the Install page.
Homebrew uninstall did not fully clean up (macOS)
If you previously installed Flox via Homebrew and the uninstallation did not complete cleanly (for example, the/nix volume could not be unmounted),
you may need to force a full cleanup before re-installing.
Solution
Flox builds from source when installed as a Nix flake input
If you consume Flox as a flake input in your NixOS or nix-darwin configuration, you may find that Nix builds Flox from source instead of fetching it from the Flox binary cache. There are two common causes.Using follows for nixpkgs
If your flake input for Flox uses inputs.nixpkgs.follows = "nixpkgs",
the resulting store paths will differ from the ones in the Flox binary cache
because the cache was built against the nixpkgs revision pinned in the
Flox flake.lock.
Solution
Remove thefollows directive so that Flox uses its own pinned nixpkgs:
Flox binary cache not in substituters
Even with the correct Nix configuration files,
the Flox binary cache (cache.flox.dev) may appear only in
trusted-substituters and not in substituters.
Nix only queries caches listed in substituters (or extra-substituters)
during builds.
The trusted-substituters setting only controls which caches
non-root users are permitted to add via extra-substituters —
it does not cause Nix to query those caches on its own.
Diagnosis
cache.flox.dev appears in trusted-substituters but not in
substituters, Nix will never query it and will fall back to building
from source.
Solution
Add the Flox cache toextra-substituters so that it is merged into
substituters and actually queried during builds.
For example, in your NixOS or nix-darwin nix.settings:
/etc/nix/nix.conf:
cache.flox.dev should now appear in the substituters line.
Reporting issues
If your issue is not covered here, ask for help in our Slack or open an issue on GitHub, filling out theInstall failure Issue template.
Please include:
- Your operating system and version
- The installation method you used (Pkg, Homebrew, Debian, RPM, etc.)
- The full install log output (see Finding install logs above)
- Any error messages you encountered