Install flox¶
Install flox from scratch¶
Minimum Requirements
While the resource requirements for flox will vary based on the software you install, we recommend a minimum of 4Gb of memory and 8Gb of storage to install most software.
Minimum requirements for running installed software is not effected by flox.
For use on Debian, Ubuntu, and other Debian-based distributions.
Download and install the package
-
Download flox.deb for your system architecture:
-
Install the downloaded file
For use on RedHat, CentOS, Amazon Linux, and other RPM-based distributions.
Download and install the package
-
Download flox.rpm for your system architecture:
-
Install the downloaded file
Install WSL 2
Please install and configure WSL version 2 as described in the Microsoft Learn Install WSL guide before installing flox. Please also ensure the state (whether the distribution is running or stopped) is running.
Note that installation will fail on WSL 1.
Microsoft provides several Linux distributions for use with WSL and will use Ubuntu by default. Use the following commands to run and manage your chosen distribution:
- list installed distributions:
wsl --list
- run specified distribution:
wsl --distribution <name>
- list all available distributions:
wsl --list --online
- install distribution:
wsl --install -d <name>
- terminate distribution:
wsl --terminate <name>
- unregister and delete distribution:
wsl --unregister <name>
Supported distributions
Please follow the steps below to install flox on the distribution of your choice:
Ubuntu
Download and install the package
-
Download flox.deb for your system architecture:
-
Install the downloaded file
Debian
Install prerequisites
Download and install the package
-
Download flox.deb for your system architecture:
-
Install the downloaded file
OracleLinux_8_5
Install prerequisites
Download and install the package
-
Download flox.rpm for your system architecture:
-
Install the downloaded file
Ignore warning about systemd
You will encounter the following warning during the installation:
---- warning! ------------------------------------------------------------------
We did not detect systemd on your system. With a multi-user install
without systemd you will have to manually configure your init system to
launch the Nix daemon after installation.
You can disregard this message as we will be configuring the
nix-daemon
to start automatically in the next section.
Configure nix-daemon
to start on activation
Once flox has been installed on your WSL distribution the nix-daemon
will
need to be automatically started as you start your WSL instance.
Run the following command to add the necessary logic to invoke nix-daemon
by way of your ~/.bashrc
file:
cat >> ~/.bashrc <<EOF
( wsl.exe -d $WSL_DISTRO_NAME -u root service nix-daemon status 2>&1 >/dev/null ) || wsl.exe -d $WSL_DISTRO_NAME -u root service nix-daemon start
EOF
Then restart your WSL shell (or start another) and run the following
command to ensure that the nix-daemon
is working correctly:
Download and install the package that matches your machine's architecture.
-
Download installer for Macs with
-
Double-click to install the downloaded file
- Open a terminal window to continue below
Install Nix
Please ensure you are using Nix version 2.7.0
or greater.
Configure Substituters
Add the following values to /etc/nix/nix.conf
, taking care to merge them
with any trusted-substituters
or trusted-public-keys
values that may
already be defined:
extra-trusted-substituters = https://cache.floxdev.com
extra-trusted-public-keys = flox-store-public-0:8c/B+kjIaQ+BloCmNkRUKwaVPFWkriSAd0JJvuDu4F0=
Then restart the nix-daemon
, if applicable:
- Linux:
- MacOS:
Install flox
-
Install to your personal profile:
-
Install flox to the system-wide
default
profile as root:
On error
If you encounter the following error then please upgrade your Nix
installation (and in particular the running nix-daemon
) to the latest
version (minimum supported version is 2.7.0
):
error: builder for '/nix/store/35l1qqyis11y88ic0cp3yxgv3286l4pb-flox-0.0.2-r295.drv' failed with exit code 1;
last 1 log lines:
> error: attribute 'requisites' missing
If you encounter any other errors with the installer please report the bug by way of discourse, including a full copy of the command invoked and error encountered.
Configure Substituters
Similarly configure /etc/nixos/configuration.nix
to add the lines:
nix.settings.extra-trusted-substituters = [ "https://cache.floxdev.com" ];
nix.settings.extra-trusted-public-keys = [ "flox-store-public-0:8c/B+kjIaQ+BloCmNkRUKwaVPFWkriSAd0JJvuDu4F0=" ];
... and then invoke:
Install flox
-
Install to your personal profile:
-
Install flox to the system-wide
default
profile as root:
On error
If you encounter the following error then please upgrade your Nix
installation (and in particular the running nix-daemon
) to the latest
version (minimum supported version is 2.7.0
):
error: builder for '/nix/store/35l1qqyis11y88ic0cp3yxgv3286l4pb-flox-0.0.2-r295.drv' failed with exit code 1;
last 1 log lines:
> error: attribute 'requisites' missing
If you encounter any other errors with the installer please report the bug by way of discourse, including a full copy of the command invoked and error encountered.
Verify flox installation
If the following command returns without error then you're ready to get started!
- The version you will see might be different.
Install with existing Nix installation¶
The flox installer will perform some opinionated configuration of Nix, but Nix will still be usable. If you want full control of your Nix installation, see the instructions for installing flox with Nix under the Nix/Generic tab.
When installing over a previous installation of Nix the flox installation will:
- Back out customizations made to the following files when Nix was
installed:
/etc/bashrc
/etc/bash.bashrc
/etc/profile.d/nix.sh
/etc/zshrc
/etc/zsh/zshrc
- Overwrite the system-wide
/etc/nix/nix.conf
- (If applicable) convert the Nix installation to a multi-user install
- Reconfigure the
nix-daemon
invocation
These changes are designed to improve the overall user experience and make the Nix installation more reliable and easier to support, but it's worth noting that anyone wishing to revert to a "vanilla" Nix installation after installing flox will need to re-install Nix.
If you are installing over a previous installation of Nix we suggest that you install flox to a test machine or VM to gain familiarity with it first.
Upgrade existing flox installation¶
For use on Debian, Ubuntu, and other Debian-based distributions.
Please follow the instructions provided on either the Debian or RPM tab (whichever matches the existing Linux Distribution installed with your WSL) to update to latest version of flox.
Download and install the latest image as described in the MacOS column of the install section.
Uninstall flox¶
While we are sad we see you uninstalling flox
we would like thank you
for giving flox
a try.
As we try to improve flox
we really appreciate any feedback, especially
where we failed. We like to know what was not working or where could we do
a better job. If you can, please reach us via
discourse or via
email.
Here's how to completely remove flox
from your system.
For use on Debian, Ubuntu, and other Debian-based distributions.
The following command will completely remove Nix and the contents of /nix/*
from the system.
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.
For use on RedHat, CentOS, Amazon Linux, and other RPM-based distributions.
The following command will completely remove Nix and the contents of /nix/*
from the system.
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.
Output on success:
$ sudo yum remove flox
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management.
You can use subscription-manager to register.
Dependencies resolved.
======================================================================
Package Architecture Version Repository Size
======================================================================
Removing:
flox x86_64 1.4.3-1625910780 @@System 109 M
Transaction Summary
======================================================================
Remove 1 Package
Freed space: 109 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: flox-1.4.3-1625910780.x86_64 1/1
floxadm uninstall complete
Erasing : flox-1.4.3-1625910780.x86_64 1/1
Running scriptlet: flox-1.4.3-1625910780.x86_64 1/1
Verifying : flox-1.4.3-1625910780.x86_64 1/1
Installed products updated.
Removed:
flox-1.4.3-1625910780.x86_64
Complete!
Please follow the instructions provided on either the Debian or RPM tab (whichever matches the existing Linux Distribution installed with your WSL) to uninstall flox.
The following commands will completely remove Nix and the contents of /nix/*
from the system.
Be sure to back up the system and/or extract any important Nix-related files and packages before continuing.
-
Ensure no running processes are using
/nix
. -
Run: