by flurie on 2/7/23, 2:50 PM with 55 comments
by guypod on 2/7/23, 5:20 PM
Nix has all sorts of core portability, security and management capabilities that are massively valuable in a distributed and diverse env dev team, but are rarely used because they're too hard.
If Flox takes off, many more developers would benefit from those capabilities, and most of those would still have minimal to know understanding of the underlying Ni complexity.
FWIW, that's at least why I invested in them ;)
by pxc on 2/7/23, 3:06 PM
It includes the following:
> We strive to improve the experience of consuming packages from nixpkgs by providing a layer that records their evaluation, build, and cache metadata. We call this layer - a catalog. This allows users of flox to select from multiple versions of packages. It also enables enterprise users to share packages in binary form without exposing their source code or even their Nix expression.
This sounds in some ways pretty similar to something I'd been imagining for Nix, particularly for the purpose of grabbing package definition sources which have been known to work for a given version or range. (The use case is automatically grabbing or generating packages for given semantic versions instead of by Nixpkgs hash.)
I'm interested to see what all they've done with the catalog, and I wonder if it will ever be brought to Nix proper. If that were likely, they would have been developing this in the open, right? (Maybe not! Getting consensus is hard... I do see that the catalog itself and some related work is up on GitHub.)
by smoldesu on 2/7/23, 2:54 PM
So, to be clear: your product is an imperative compositional layer on top of a declarative compositional layer for managing imperative system configuration? Sounds like a hard sell to anyone who doesn't use Nix. Even as a NixOS daily driver, I'm having a hard time understanding how Flox is more than a few shell aliases and a hosted backend.
by stavros on 2/8/23, 1:17 AM
* I love that there's a .deb. Usually it's either a GH binary, or curlbash.
* I love the uninstallation instructions. Everyone else doesn't give a shit what they leave all over my filesystem.
* I can't really install it because I don't have Nix, and I don't really know how to get Nix on Ubuntu. I tried some packages once, but they didn't work. I'd appreciate some help here, as Flox is a non-starter if people can't install Nix. It doesn't even mention that I need Nix, the deb just fails to install. This is a pretty big omission.
EDIT: Turns out it fails because I already had Nix? The systemd unit needed to be removed. That's odd.
* I tried to follow the "first environment example", immediately got an error:
error: could not set permissions on '/nix/var/nix/gcroots/per-user' to 755: Operation not permitted
No guidance on how to proceed from here. That directory is already 755. Googling the error leads me to a GitHub issue with hundreds of comments, and no obvious solution other than somehow reinstalling, but I don't think I installed Nix in the first place?
That's the end of the line for me, sadly.
by mkhalil on 2/7/23, 6:49 PM
Edge Dev on Windows 11 25290
https://i.imgur.com/2VjXnQI.mp4
Yikes.
by rockwotj on 2/7/23, 7:22 PM
by sleey on 2/7/23, 5:25 PM
by stavros on 2/7/23, 7:16 PM
by bovermyer on 2/7/23, 7:05 PM
That sounds interesting. However, I wonder how it deals with scenarios like using "flox pull" to do an initial setup, then manually installing something, then months later trying to reconcile what the code says should be installed and what's actually installed.
by theboiledowl on 2/7/23, 3:42 PM
by alexmackenziewx on 2/7/23, 5:23 PM
by thenipper on 2/7/23, 7:11 PM
by ptannor on 2/7/23, 6:35 PM
by ianl on 2/7/23, 6:58 PM
Whats next on the roadmap?