Introduction
Installation
Fleek has only one dependency: Nix.
Prerequisites
Install Nix
We highly recommend the Determinate Systems Installer, but any nix
installer is good.
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
Enable Flakes
After Nix is installed you need to enable flakes and the nix command. This is already done if you use the Determinate Systems Installer. Otherwise, it can be as simple as this:
mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
Create Your Initial Fleek Configuration
We're going to use the power of Nix flakes and the convenience of FlakeHub to bootstrap the latest version of Fleek without installing it locally.
nix run "https://getfleek.dev/latest.tar.gz" -- init
This will create your configuration file and symlink it to $HOME/.fleek.yml
. Open it with your favorite editor and take a look.
Make any changes to the ~/.fleek.yml
file you want... we recommend Bling Level high
for the best experience.
Now let's apply your configuration:
nix run "https://getfleek.dev/latest.tar.gz" -- apply
It will take a bit to download and install everything, but when it's done you should see something like this:
... more text above this ...
Activating onFilesChange
Activating reloadSystemd
[✓] Operation completed successfully
After running your first init
and apply
, you can use the fleek
command to manage your fleek configuration.
fleek --help
Possible Errors: Existing Files
You might see an error telling you that the installation failed because a file already exists. Fleek will create new shell configuration files for you, but it won't overwrite existing ones. You'll need to move or delete the existing files before Fleek can install the new ones. Try mv ~/.bashrc ~/.bashrc.bak
(substituting the appropriate file names) and then run the apply command again.
What happened here? We just installed Nix Home Manager, configured it with your preferences, and applied it to your system.
You may need to close and re-open your terminal or even log out to see the changes.
Deprecated Installation Options
These options are deprecated and will be removed in the next release. Fleek is now self-managing and should be installed with the bootstrap instructions above.
Unreachable Code Here
If you use any of these deprecated installation options, the version of Fleek you install will be listed after the version of Fleek that gets installed when you apply your configuration. This is by design to ensure that Fleek can update itself.
Nix Profile (Deprecated)
You can install Fleek to your default nix profile with this command:
nix profile install github:ublue-os/fleek
This will add Fleek to your default nix profile (don't worry if you don't know what this means yet), which will be available in your $PATH.
GitHub Releases (Deprecated)
You can also download fleek from the GitHub releases link and move it somewhere in your $PATH.
The gzip'd tarball contains a binary, fleek
, a man
directory, and a completions
directory. You can skip the man
and completions
directories if you don't need them.
Be sure to move fleek
to somewhere in your $PATH. If you're not sure where that is, try echo $PATH
to see what directories are in your path.
Homebrew (Deprecated)
If you have Homebrew installed, you can use the Fleek tap:
brew tap ublue-os/homebrew-tap
brew install fleek