Flox install "overwrites" existing nix install

I downloaded install on Mac OS Monterey.

The install dialog says

An existing Nix installation has been detected. NOTE: To install Flox using Nix, see https://alpha.floxsdlc.com/docs/tour/tour-1/#download-and-install-flox. Proceeding with this installer will: 1. Remove Nix and its dependency cacert from the default system profile. 2. Replace the Nix daemon with a Flox provided version. 3. Revert any changes the Nix installer made to shell rc files in /etc but backup the current files by adding a .backup-with-nix-before-flox suffix.

I tried following the link but it is dead.

I want to try Flox, but I want to continue to use Nix as I have been until/if I decide to switch entirely to Flox. Is that possible?

Thank you for this feedback! That is indeed a broken link and I have flagged it to be updated. The correct link to use is https://beta.floxdev.com/docs/getting-started/install-flox/. If you have Nix installed (min version 2.7.0) , follow the directions on that page under the Nix/Generic tab to install flox.

1 Like

The broken link has now been fixed. :slight_smile:
Please let us know if you have any other queries re testing flox while maintaining your existing setup.
We look forward to hearing your feedback once you’ve had a chance to play around with it!

The Nix/Generic tab says to add

trusted-substituters = https://cache.floxdev.com?trusted=1
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= flox-store-public-0:8c/B+kjIaQ+BloCmNkRUKwaVPFWkriSAd0JJvuDu4F0=

to /etc/nix/nix.conf

then to restart the nix-daemon.

I did that then tried the instruction for installing to a personal profile. I got:

warning: ignoring untrusted substituter 'https://cache.floxdev.com?trusted=1'

Doesn’t the trusted-substituters name need to match the trust-public-keys : here is what I had before adding flox:

trusted-substituters        = https://hydra.iohk.io                                              https://iohk.cachix.org                                                    https://cache.nixos.org/
trusted-public-keys         =         hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=         iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo=             cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=

I tried running launchctl again to stop/start the daemon.
This time I used sudo launchctl ...
Flox seems to be installed:

> which flox
/Users/xxxxx/.nix-profile/bin/flox

> flox --version
Version: 0.0.6-r45
1 Like

thank you for the updates!
re your trusted-substituters query - no, not as long as trusted=1 is used.
re stopping/starting the daemon - yes, it needs root access. Thank you for this feedback as we can tweak the doc to be more clear on this point.

1 Like

Hej

let me expand on @robinbrantley s response to your question about trusted-public-keys

Doesn’t the trusted-substituters name need to match the trust-public-keys

You spotted correctly that most key-names resemble the cache url. However that’s not mandatory, nix will simply try all keys for any substituter.
The names are rather for your convenience to tell them apart and know the purpose of each

Relevant snippet from the docs:

It is used to look up keys on the client when it verifies signatures. It can be anything, but it’s suggested to use the host name of your cache (e.g. cache.example.org ) with a suffix denoting the number of the key (to be incremented every time you need to revoke a key).

https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-key-generate-secret.html#description

Also if you used to have substituters and public keys set up, simply add flox to it to maintain access to the other caches (sounds like you did that, but just to be sure)

Thank you for your feedback!

1 Like

Thank you for that detail.

Just to wrap up this thread, the broken link has been fixed and the updated docs published.

1 Like