Live data from Hacker News

The Flox Open Beta

floxdev.com

41–50 of 59 posts

Re: The Flox Open Beta

#41

Earlier quoted context omitted.

I tried once before on Mac, but never could get it working properly. My impression of Nix on Mac is that it doesn't have exclusive control of your system, so it would be possible to install something outside of its control loop.

I tried once before on Mac, but never could get it working properly. What do you think about our native OSX installer?

For Flox? It sounds promising, but I haven't gotten around to testing it yet.

I was talking about Nix itself, before.

Re: The Flox Open Beta

#42
post #26

I don't use Nix, but I'm really eager for something that will make it easy to use. It will solve a ton of problems for me.

hi! Making Nix easier to use is one of our central goals. What problems could we help you solve?

Re: The Flox Open Beta

#43
post #42
post #26

I don't use Nix, but I'm really eager for something that will make it easy to use. It will solve a ton of problems for me.

hi! Making Nix easier to use is one of our central goals. What problems could we help you solve?

The big one is repeatability of environments. Docker is OK, but it doesn't run well on Mac, and is pretty heavy.

Also, having the processes run on the host and filesystem is great for usability.

Re: The Flox Open Beta

#44
post #32

Earlier quoted context omitted.

I think you are right. Plus it's a great way to integrate needed dependencies in other languages, and pin them to the exact version you need. When you need to deploy, you can actually use flox on the production machine, and "flox install", or you can load the flox package into a docker container image and deploy that way too. I developed a Django app for about 2 months with flox, which included postgresql,redis, and…

Oh interesting... yeah this is exactly what i'm looking to do, well Flask not Django but basically the same thing. Question, were you using pycharm at all? Did you have a good method on having that run a file from within a flox env?

The simplest way to get started is to choose the python dependency manager of your choice (could be pip, poetry, etc). You can install this with flox, and then `flox develop` and these dependencies will just be available on your path. You can then launch pycharm from this context, check "which python" in the shell where you ran `flox develop` and add that to your python evaluator in your IDE.

There are more advanced methods to work with python (that will also still work with pycharm, vscode etc) that are discussed in our docs.

Do you think it would be beneficial if we created some guides to configuring common IDE to work with flox environments?

Re: The Flox Open Beta

#45

Earlier quoted context omitted.

Thank you. Would you be willing to give us a challenge in a form of example environment that your data analysts/engineers would use with only a `flox pull`?

Sure thing. A big part of the workflow that we're developing depends on a variety of tools beyond just python packages. We've got things like dbt, prefect etc in the mix. Being able to specifically set up that set of tools for a project, as well as the right version of Python and sub dependencies like pip would be really helpful. A lot of these tools are easily installed with homebrew but then then issue is that they…

You can definitely pin down the specific versions of all your dependencies per environment. And, you can for sure build one environment on top of another, you just have to activate them all (or include them in your project if you take a project based approach)

Re: The Flox Open Beta

#46
post #44

Earlier quoted context omitted.

Oh interesting... yeah this is exactly what i'm looking to do, well Flask not Django but basically the same thing. Question, were you using pycharm at all? Did you have a good method on having that run a file from within a flox env?

The simplest way to get started is to choose the python dependency manager of your choice (could be pip, poetry, etc). You can install this with flox, and then `flox develop` and these dependencies will just be available on your path. You can then launch pycharm from this context, check "which python" in the shell where you ran `flox develop` and add that to your python evaluator in your IDE. There are more advanced…

Ah that all makes sense. Also a bit of a d'oh about the which python.

I definitely do think it'd be useful to just have a quick path to using this with a variety of different IDE types.

Re: The Flox Open Beta

#47
post #43
post #42

Earlier quoted context omitted.

hi! Making Nix easier to use is one of our central goals. What problems could we help you solve?

The big one is repeatability of environments. Docker is OK, but it doesn't run well on Mac, and is pretty heavy. Also, having the processes run on the host and filesystem is great for usability.

Agreed! flox environments are purpose-built for repeatability: Nix-based, versioned-controlled, shareable with others via git. Check out the docs https://floxdev.com/docs for how to get started with environments. We have a native Mac installer as well. We're also working on the ability to manage processes and services locally, stay tuned :)

Re: The Flox Open Beta

#48
Some feedback, as I'm trying it out:

* 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.

Re: The Flox Open Beta

#49
post #7
post #3

I just finished reading the announcement on NixOS Discourse here: https://discourse.nixos.org/t/flox-first-open-release-beta/2... 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…

> 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.) Yes, this is something users often expect. We make this more efficient than grabbing a un…

> What portions are of greatest interest?

I will have a better idea of this after I've had a chance to play with the software! Unfortunately that may be in about a week.

Naively: I think a DB of successful builds and what Nix functions/files produced the working packages and at what versions could be really useful to things like dream2nix or nix-init. (I think that CLI for one-off installs has considerable value itself.)

For my present use cases (perhaps not future ones at my org!) the cases enabling distribution of binary artifacts without publishing sources are not of great interest. For me, those fall into the enterprise-y bucket.

Re: The Flox Open Beta

#50
post #6
post #2

> flox provides an imperative (and delightful) CLI experience that will seem more familiar to most developers. 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 sh…

(i'm on the flox team): A major point of feedback we got from non-Nix users were that they wanted something similar to other package managers. So we looked at the primary differences and focused on designing a user experience with few show-stopping blockers for initial adoption. The goal is to guide people into the declarative side and a gentle introduction to the Nix language and ecosystem. > Even as a NixOS daily d…

> The most important thing to note is that this is our foray into developing flox in the open and we value all the feedback, thoughts, and especially criticisms.

One of the things I really, really love about the way Tweag has approached 'development in the open' with Nix is their series of announcement posts for updates via NixOS Discourse. If Flox can reasonably fit something similar into their strategy, I think that would be huge.

I do so far really like the engagement in all the official Nix communication channels as well as HN. I know you and Rok have both spent tons of time offering help and working with other Nix users in those spaces, and it goes a long way with me to see you guys out here being the ones to answer questions.

Post reply on HN