Live data from Hacker News

Show HN: Flox 1.0 – Open-source dev env as code with Nix

github.com

171–180 of 201 posts

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#171

Earlier quoted context omitted.

You know you can just write `nix develop -c zsh` or `nix develop -c fish` or whatever, right?

Yes, I'm also a Nix maintainer. `nix develop` does many other things, originally based on re-creating the build environment of a derivation. This means that it is not ideal for the case of development environments that must support more than just building.

Isn't there nix shell for that, and nix-direnv to activate automatically?

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#172

Earlier quoted context omitted.

That’s equivalent to demanding the Python community to abolish PyPI in favor of making the “one great” standard library. Nix is a language after all. It’s meant to have tools that build on it.

IMO it's a bit more like asking the python community to standardize all the tools listed in this stackoverflow question, which they only sort of succeeded in. "What is the difference between venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, etc?" https://stackoverflow.com/questions/41573587/what-is-the-dif...

Nix comes with confusion built in though, in the official getting started guide flakes are described as controversial, their history explained, criticisms described, only to ultimately say you have to decide for yourself.

Imagine if the Arch or Ubuntu installer halted, told you neutrally / BBC style criticism-focussed even about systemd, and then asked you how to proceed: systemd or sysvinit?

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#173
I tested the product on both Ubuntu and MacOS, but had a frustrating experience in both cases.

I prefer using Fish, but it's not supported. So, I uninstalled it and tried with Bash or Zsh instead.

Even after completely removing Fish from my system, the flow CLI still insists it's there and tries to open a path that no longer exists.

Switching to Zsh gave a different result, but it was still a frustrating experience. While I could activate the flox environment the first time I executed it, exiting caused issues. I had to reactivate it multiple times, encountering errors such as "environment already enabled" before it finally worked properly.

I'm sorry for the negative feedback, but this seems far from a version 1.0 product user experience.

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#174
post #46

So, I read about a similar-ish tool to this recently, `devenv` - it sounds like both tools are based around Nix. The other article (talking about `devenv`) was discussing a migration away from running Vagrant. I had questions then that I still have now with this tool: assuming this, like `devenv` doesn't directly run a VM, how exactly do you solve actual platform differences - e.g. it's quite common to have developer…

Using Nix as a package manager works best with a repository called "Nixpkgs". Nixpkgs focuses on reproducible builds, that means that for the same inputs, you always are going to get the same binary output. All of Nixpkgs are built using nixpkgs, and they don't depend on any library outside nixpkgs, including glibc and compilers. That means that you can "lock" your packages into a version, and you ensure that it will…

> Nixpkgs focuses on reproducible builds, that means that for the same inputs, you always are going to get the same binary output.

This is a common misconception, nixpkgs only really supports "repeatable builds" and "reproducible build environments".

The Reproducible Builds aspect of nixpkgs is still very much a work in progress as it is with all the other linux distributions and hardly a focus.

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#175

Earlier quoted context omitted.

That’s equivalent to demanding the Python community to abolish PyPI in favor of making the “one great” standard library. Nix is a language after all. It’s meant to have tools that build on it.

IMO it's a bit more like asking the python community to standardize all the tools listed in this stackoverflow question, which they only sort of succeeded in. "What is the difference between venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, etc?" https://stackoverflow.com/questions/41573587/what-is-the-dif...

Your analogy would've made sense if Nix had a few dozen implementations to choose from, all being similar in scope and none being definitively better. These are tools that build upon Nix. The whole point of a language is to have tools that build upon it. It's nothing line the Python -env situation where the sole purpose is to mitigate a design flaw in packaging.

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#176

Earlier quoted context omitted.

I'm confused here. That quote clearly says that Flox makes Nix easier for newcomers, not that Nix is easy. What exactly do you take issue with?

The fact that my experience with nix has historically been _so_ difficult, I fear even something that claims to make it "easier" will not be able to deliver -- my aversion has everything to do with nix, and little do with any product which claims to improve it. Consider it guilt by association. For me, it doesn't simply need to be easier, it needs to be usable. I lack confidence a product which is an abstraction laye…

If you still use it, my best suggestion is to use a github search for 'path:.nix TERMs' when you run in to issues. It's likely someone already has that custom package, or an overlay to fix that missing compile option, or whatever else it is that you're looking for. I find reading other peoples solutions also helps with understanding and solving related problems.

I'm in no means claiming Nix is perfect, but coming from other distros to NixOS I really appreciate the ability to reboot to a new generation and then reboot back if I run in to issues. To do the same in Arch I had a bunch of 'snapper plus manual steps' to accomplish the same.

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#177

Earlier quoted context omitted.

The fact that my experience with nix has historically been _so_ difficult, I fear even something that claims to make it "easier" will not be able to deliver -- my aversion has everything to do with nix, and little do with any product which claims to improve it. Consider it guilt by association. For me, it doesn't simply need to be easier, it needs to be usable. I lack confidence a product which is an abstraction laye…

Maybe you need to try it out rather than casting doubts about a product you haven't tried yet? Pre-emptively doubting claims based on your past experience with a tool Flox claims to solve seems like a poor way to go here. For what it's worth, there are a number of options in the Nix space that really do solve for its complexity like Devbox and now Flox.

Maybe I know that but I'm still too damaged to try? That is the entire point of my post.

Thanks for the "advice" though.

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#178

Last I tried to use Nix there was lots of confusion over flakes - some tutorials suggested using them and others saying they are still in development. Has the situation improved?

See: A plan to stabilize the new CLI and Flakes incrementally https://github.com/NixOS/rfcs/pull/136

Re: Show HN: Flox 1.0 – Open-source dev env as code with Nix

#179
post #173

I tested the product on both Ubuntu and MacOS, but had a frustrating experience in both cases. I prefer using Fish, but it's not supported. So, I uninstalled it and tried with Bash or Zsh instead. Even after completely removing Fish from my system, the flow CLI still insists it's there and tries to open a path that no longer exists. Switching to Zsh gave a different result, but it was still a frustrating experience.…

Sorry you had a frustrating experience. It's definitely us missing the mark.

Re: fish, saw you found the issue someone else opened on it. We have it on our plan and will be adding support soon https://github.com/flox/flox/issues/1173

Re: your zsh experience, it's hard to judge exactly what's happening from your comment but we have had other users where the state of activation was suppressed by themes which can cause "environment already active". https://github.com/flox/flox/issues/637 - if you think it's something else or have more detail to share, let us know (either here, github, anywhere).

Thanks for trying Flox!

(Flox employee here)

Post reply on HN