TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

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

382 点作者 ronef大约 1 年前
Hey HN,<p>I&#x27;m Ron Efroni, CEO at Flox, and today we are releasing version 1.0 of our open source CLI, helping folks manage development environments everywhere.My own experience with development environments began with air-gapped systems, having to actually burn software to a CD to iterate over a very slow and expensive development cycle, sometimes reaching the server rack and realizing I have the wrong disk.... Fast forward to today and there are countless alternatives available backed by incredible compute resources, yet we somehow still find ourselves paying the price of long development cycles. That&#x27;s why I&#x27;ve been working for over a decade to simplify the development stack so we can spend more time on making 1&#x27;s and 0&#x27;s do magical things, and why my co-founder Michael and I started Flox to bring you the solution based on Nix. Today is just the first step on that journey. We hope you&#x27;ll take a peek at our new release, and very much look forward to continuing the journey with you from here together!<p>Introducing Flox 1.0<p>Flox is a platform that lets developers and operators focus on building fast with reproducible environments that span the enterprise SDLC. Using a declarative framework based on Nix, a package management and configuration tool, Flox allows developers to create environments that contain everything they need to build software.<p>Why Flox?<p>Flox behaves a lot like your favorite and familiar package manager, but it allows you to create as many environments as you want on your machine. Each one can contain a different combination of packages.<p>Environments are portable by default. If you install a package inside one that isn&#x27;t cross-platform, it&#x27;s easy to carve out exceptions. It&#x27;s also easy to write hooks and populate your environment with variables - we designed it to be hackable.<p>Flox environments run in user-space, like, where you are. When you type `ls` after activating a Flox environment you will see the same stuff because you&#x27;re in the same place - even with all those new packages available. No mounting volumes, no proxying ports. No breaking into the toolset you just conjured.<p>Getting Started: No sign-ups, just one install away. Dive into our GitHub repository (<a href="https:&#x2F;&#x2F;github.com&#x2F;flox&#x2F;flox">https:&#x2F;&#x2F;github.com&#x2F;flox&#x2F;flox</a>) and start exploring<p>I’m around all day to answer questions, talk Nix, or just reminisce about simpler times ;).<p>Lots of open source love, Ron

45 条评论

peterldowns大约 1 年前
Hi Ron, congratulations on the release. My question is: how will you make money? I see you are the CEO, there is a company, and you have employees. Crunchbase links to news articles that make it seem like you&#x27;ve raised $24MM. Maybe I&#x27;m just missing it, but I can&#x27;t see any pricing information on your landing page or in your docs. After I log in to FloxHub with my Github profile, I don&#x27;t see any billing options. What is your plan?
评论 #39694539 未加载
评论 #39699729 未加载
jahsome大约 1 年前
The line about nix making it easier for newcomers in the readme and similar statements always trigger me. I am quite a competent person and I&#x27;ve never once thought &quot;that was easy&quot; when trying to use nix.<p>I adore the concepts of nix, but the user experience is awful. Maybe that&#x27;s what this tool solves? It takes a frustrating amount of effort and incessant config tweaking with little to no documentation and navigating seemingly endless already-deprecated methodologies to reach that point. Perhaps I&#x27;m just dumb, or looking in the wrong places.<p>In any case in my experience the end result is every time I see something related to nix, I find myself thinking &quot;I can&#x27;t wait til that&#x27;s easy&quot;
评论 #39696957 未加载
评论 #39697282 未加载
评论 #39696678 未加载
评论 #39696641 未加载
评论 #39697663 未加载
评论 #39697307 未加载
评论 #39698960 未加载
评论 #39699780 未加载
solatic大约 1 年前
One critical issue with &quot;power of Nix without the learning curve&quot; kind of products is that you still have Nix behind the scenes, including the &#x2F;nix&#x2F;store, which is <i>intentionally</i> not cleaned up by Nix automatically. So when users try out something that hides Nix from them, their drives inevitably fill up, which is super user-friendly because they have no idea how to reduce the amount of storage used. It&#x27;s different when users understand that they&#x27;re installing Nix, and go through the learning curve, because that learning curve helps them to build the mental model of what &#x2F;nix&#x2F;store is and how to maintain it.<p>What&#x27;s your strategy for dealing with the underlying complexities?
评论 #39695361 未加载
评论 #39695925 未加载
评论 #39695613 未加载
评论 #39695348 未加载
评论 #39695303 未加载
Cu3PO42大约 1 年前
Congrats on the launch!<p>I love Nix. I really do. I also recognize the onboarding experience is bad at best and terrible at worst.<p>As such I welcome any effort to make it more approachable. I believe the imperative CLI is a great step in that direction. It&#x27;s much closer to what many people expect and will feel comfortable with. Simplifying the &quot;using an environment from somewhere else&quot; story is also one I strongly relate to.<p>One thing I&#x27;m not seeing that I think would be important is IDE integration. Starting your IDE from the command line inside the environment is not intuitive to many of my colleagues and is something I&#x27;ve diagnodes as the root cause of an issue more than once.<p>What&#x27;s your story for dropping down into &#x27;real Nix&#x27; if required? I&#x27;m a bit afraid that this might drop you off at a cliff for somewhat more complicated environments, for example to set up a cross-compilation Rust toolchain.<p>To stick with the example of Rust development, I have the following shellHook in one of my Flakes:<p><pre><code> export LIBCLANG_PATH=&quot;${pkgs.llvmPackages.libclang.lib}&#x2F;lib&quot; export RUST_SRC_PATH=&quot;${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}&quot; export BINDGEN_EXTRA_CLANG_ARGS=&quot;$(&lt; ${stdenv.cc}&#x2F;nix-support&#x2F;libc-crt1-cflags) \ $(&lt; ${stdenv.cc}&#x2F;nix-support&#x2F;libc-cflags) \ $(&lt; ${stdenv.cc}&#x2F;nix-support&#x2F;cc-cflags) \ $(&lt; ${stdenv.cc}&#x2F;nix-support&#x2F;libcxx-cxxflags) \ ${lib.optionalString stdenv.cc.isClang &quot;-idirafter ${stdenv.cc.cc.lib}&#x2F;lib&#x2F;clang&#x2F;${lib.getVersion stdenv.cc.cc}&#x2F;include&quot;} \ ${lib.optionalString stdenv.cc.isGNU &quot;-isystem ${lib.getDev stdenv.cc.cc}&#x2F;include&#x2F;c++&#x2F;${lib.getVersion stdenv.cc.cc} -isystem ${stdenv.cc.cc}&#x2F;include&#x2F;c++&#x2F;${lib.getVersion stdenv.cc.cc}&#x2F;${stdenv.hostPlatform.config} -isystem ${stdenv.cc.cc}&#x2F;lib&#x2F;gcc&#x2F;${stdenv.hostPlatform.config}&#x2F;${lib.getVersion stdenv.cc.cc}&#x2F;include&quot;} \ $NIX_CFLAGS_COMPILE&quot; </code></pre> It was necessary to get Rust-Analyzer to play nice. How would I ever set something like this up in Flox? Is this kind of setup something you want to abstract away? If not, how would this ever be discoverable to a user that isn&#x27;t familiar with Nix?<p>Please don&#x27;t mistake these questions as me saying this can never work. I really want it to work, I just don&#x27;t know how yet.
评论 #39694875 未加载
ivanjermakov大约 1 年前
What is the benefit of using Flox over plain nix-shell or nix develop?
评论 #39694184 未加载
评论 #39694249 未加载
评论 #39693478 未加载
mikenikles大约 1 年前
How does it compare to the existing Devbox project (<a href="https:&#x2F;&#x2F;www.jetpack.io&#x2F;devbox" rel="nofollow">https:&#x2F;&#x2F;www.jetpack.io&#x2F;devbox</a>)?<p>Does Flox have an optional cloud solution as well? Can Flox install specific versions of Nix packages? What about OS-specific dependencies?<p>I&#x27;ve worked with tools like that for 5 years. Curious to understand what Flox brings to the table that we don&#x27;t already have.
Rucadi大约 1 年前
I really don&#x27;t understand why should I use this over plain nix, can you elaborate?
评论 #39694439 未加载
评论 #39694643 未加载
评论 #39695100 未加载
Yanael大约 1 年前
Reproducible development environment, I&#x27;m very enthusiastic about it and have been using development containers for years now, at work, they do a great job too. About a year ago, I started to hear about Nix. I was super excited at first, the promise is amazing, but the onboarding process has been awful for me. I have a defined development environment I want to achieve, but it seems I always miss something in the way it should be approached. I&#x27;m glad to see some new tooling helping to improve the overall experience. Anyway, I keep trying and hope it will click at some point. I&#x27;m wondering, at which moment it did for you?
评论 #39699941 未加载
ildjarn大约 1 年前
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.<p>Has the situation improved?
评论 #39698778 未加载
评论 #39699565 未加载
评论 #39706528 未加载
pxc大约 1 年前
I tried Flox on macOS last night and noticed that it installed Nix in the default profile alongside the one Nix-Darwin manages in &#x2F;run&#x2F;current-system&#x2F;sw&#x2F;bin, and symlinked its copy into &#x2F;usr&#x2F;local&#x2F;bin. I also noticed that there were no instructions for existing Nix users qua Nix users— nothing for NixOS users or users of other distros who might already have Nix installed but who lack a Flox-supported distro package format.<p>Is this because as a third-party profile manager for Nix, Flox depends on the unstable format of Nix profile manifests and whatever else, or is Flox actually usable (if not tested) alongside a wide range of Nix versions? Is Nix-based installation of Flox a feature you intend to eventually support?<p>Also, it&#x27;s been mentioned that Fish support is coming. Can anyone point me to a bit of Flox source or config on where the shell integration for the `activate` subcommand actually lives? I&#x27;d like to rig something up with fenv or the like while awaiting official Fish support, but didn&#x27;t see an obvious place to plug in when I glanced at my Flox install and the Flox source last night.
评论 #39710630 未加载
methyl大约 1 年前
How do you compare to devenv and devbox? Why would I choose Flox over any of them?
stephenr大约 1 年前
So, I read about a similar-ish tool to this recently, `devenv` - it sounds like both tools are based around Nix.<p>The other article (talking about `devenv`) was discussing a migration away from running Vagrant.<p>I had questions then that I still have now with this tool: assuming this, like `devenv` doesn&#x27;t directly run a VM, how exactly do you solve actual platform differences - e.g. it&#x27;s <i>quite common</i> to have developers using macOS or Windows, and production servers running a Linux distro.<p>Sure, some things work the same or close-enough to the same, but even with scripting languages (no aot compiling) that have pretty good cross platform support, there are differences either in features, extensions, or in system level dependencies (i.e. a database server, cache server, etc).<p>Vagrant is one solution to this problem, as is &quot;Docker in a VM&quot;, albeit a little less flexible IMO - essentially you run a &quot;close to production&quot; environment inside a VM, with zero worries about what the host environment is, because the software is still running in basically the same environment as prod. The rise of Arm workstations has made this <i>interesting</i>, but Debian 12 on Amd64 is still a heck of a lot closer to Debian 12 on Arm64 than it is to macOS or Windows on <i>anything</i>.<p>So what is the Nix solution to this problem?<p>It <i>sounds</i> like the best you&#x27;d hope for would be to run Nix inside a VM, potentially managed by something like Vagrant (thus giving you a reproducible VM running a reproducible environment), but a number of comments I&#x27;ve seen about using `devenv` or nix made a point of &quot;no VM required&quot;.. so that just makes me wonder, am I missing some vital piece of information about Nix, or are these people just running much simpler dev environments than I&#x27;m used to?
评论 #39695340 未加载
评论 #39695222 未加载
评论 #39719184 未加载
danhudlow大约 1 年前
What I desperately want is the generation of a lock file so that environment installs are cryptographically guaranteed to be repeatable byte-for-byte. I recognize that this means either checksums every platform supported, but I’ve been startled that none of the options I’ve found seem to have the capacity for this.
评论 #39699572 未加载
vrnvu大约 1 年前
I tested the product on both Ubuntu and MacOS, but had a frustrating experience in both cases.<p>I prefer using Fish, but it&#x27;s not supported. So, I uninstalled it and tried with Bash or Zsh instead.<p>Even after completely removing Fish from my system, the flow CLI still insists it&#x27;s there and tries to open a path that no longer exists.<p>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 &quot;environment already enabled&quot; before it finally worked properly.<p>I&#x27;m sorry for the negative feedback, but this seems far from a version 1.0 product user experience.
评论 #39706555 未加载
mrbonner大约 1 年前
Huge user friendly! Even more than devenv which I’m currently using.<p>One question: does Flox need Nix preinstalled? I don&#x27;t see any mention of Nix in the installation guide. If Fkox doesn&#x27;t need Nix install it would be a huge game changer.
评论 #39700107 未加载
WatchDog大约 1 年前
How does nix deal with different CPU architectures?<p>If I have some developers using an ARM based macbook, and some devs on an x86_64 based machine, is it easy to support both without much maintenance?
评论 #39718656 未加载
评论 #39699155 未加载
评论 #39698693 未加载
flurie大约 1 年前
Hello Ron, congratulations to everyone on the team!<p>It looks like you&#x27;ve pared back some of the more expert configurability in order to clean up the UX. I really like the environment focus and composability, which is a real pain point in the Nix world.<p>Do you have a plan to add back any of that configurability over time? I realize I am probably not your target audience, at least as a free user, and perhaps your enterprise offering will answer all of my questions.
评论 #39697413 未加载
codethief大约 1 年前
How does Flox compare to Devbox? <a href="https:&#x2F;&#x2F;github.com&#x2F;jetpack-io&#x2F;devbox">https:&#x2F;&#x2F;github.com&#x2F;jetpack-io&#x2F;devbox</a>
troymc大约 1 年前
I wonder if something like this could be used instead of conda or pixi to manage Python packages, the used-version of Python, the Python virtualenv, etc.
评论 #39697466 未加载
评论 #39695955 未加载
p2hari大约 1 年前
I saw some alternatives being suggested and wanted to do the same (Also, so that I can look back at this item, through my comments :) ). Started using <a href="https:&#x2F;&#x2F;pkgx.sh&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pkgx.sh&#x2F;</a> lately. I know it has some baggage with tea.xyz and crypto, but it is also easy to get started with.
larusso大约 1 年前
Not to bash on the product but I really see the POC here. Nix itself already provides most of the benefits. <a href="https:&#x2F;&#x2F;mynixos.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mynixos.com&#x2F;</a> has a similar proposition but concentrates more about full system replication. So please tell me what the differences are.
xrisk大约 1 年前
What’s the current relationship of the project with DE Shaw and how did you end up making a company on top of this?
评论 #39697796 未加载
starsep大约 1 年前
Very cool. I will try it out as replacement of nix profile.<p>flox install&#x2F;show&#x2F;search in $HOME looks like way better UX<p><a href="https:&#x2F;&#x2F;flox.dev&#x2F;docs&#x2F;tutorials&#x2F;layering-multiple-environments&#x2F;" rel="nofollow">https:&#x2F;&#x2F;flox.dev&#x2F;docs&#x2F;tutorials&#x2F;layering-multiple-environmen...</a>
dleink大约 1 年前
Hi Ron! In ~2000 I drove from south Jersey to deep Long Island and only realized while staring at a server rack that I brought the bag o&#x27; CDs that we used for windows deployments, not *nix. Thanks to Robert Moses, the drive in the middle of the night actually wasn&#x27;t that bad!
tripdout大约 1 年前
The more powerful version search that Flox (and other dev env solutions built on Nix) have compared to the regular Nix search is super useful.<p>Glad that all these different companies are exploring more ways to use Nix and hopefully improvements can be shared throughout the ecosystem.
subins2000大约 1 年前
Please reduce&#x2F;remove the animations in the website, while scrolling down it&#x27;s laggy
e3bc54b2大约 1 年前
If I understand correctly, the linked repo is for flox CLI client. While it is welcome, is there a plan to open source the service components? I&#x27;d like to deploy flox on my own and have portable environments. Otherwise this I&#x27;d just another SaaS with lock-in and &quot;lots of open source love&quot;.
评论 #39693938 未加载
sandGorgon大约 1 年前
<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39616709">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39616709</a><p>a few days back daytona was also released. any thoughts on how it differs ?
评论 #39696683 未加载
Evidlo大约 1 年前
Could we get user-global installs in ~&#x2F;.local as a sort of default environment when no other environment is active?<p>I&#x27;m imagining a usecase as an alternative to `brew` but with the power of Nix.
评论 #39697139 未加载
akho大约 1 年前
How does installing by semver work? Do you bring in relevant nixpkgs versions?<p>How do I run some github dude&#x27;s fork? Or apply my own patches?<p>What&#x27;s the workflow where a language package manager is involved?
评论 #39709846 未加载
Gimpei大约 1 年前
Would this work as a simpler alternative to Nix home manager?
评论 #39695415 未加载
ivan_burazin大约 1 年前
Hey Ron congrats on the launch! Looking forward to bringing flox to daytona as well.<p>Love to collab on it when you feel the time is right<p>Ivan cofounder Daytona.io
LeBit大约 1 年前
I tried devbox and some other tool in that field.<p>I then tried dev containers.<p>Dev containers won. Hands down.
评论 #39698540 未加载
评论 #39698518 未加载
carterschonwald大约 1 年前
Is there any way to export the associated nix scripts?
sigmonsays大约 1 年前
is this a fork of regular nix?<p>It seems like it might be because they have special instructions for nixos users.. kind of makes me affraid to install it tbh.
bionhoward大约 1 年前
What made you choose the GPL license for this?
评论 #39699249 未加载
zcoyle大约 1 年前
Congrats Ron! Glad to see you still at it!
zero0529大约 1 年前
Is this similar to Devbox by jetpack.io ?
physPop大约 1 年前
why not use nix shell and direnv?
sigmonsays大约 1 年前
any support for a direnv driven workflow?
j_san大约 1 年前
flox.dev&#x2F;terms leads to a 404
评论 #39697896 未加载
Cchalop1大约 1 年前
Very cool !
focom大约 1 年前
Sorry to be this guy, but why is Nix better than a docker dev container?
评论 #39694979 未加载
评论 #39695408 未加载
评论 #39694955 未加载
gregwebs大约 1 年前
There are several tools in this space now- nix is maturing and people are realizing how useful nix can be for dev envs.<p><pre><code> * [devenv](devenv.sh) - I am using it and loving it, but worried that the development is not moving forward * [devbox](https:&#x2F;&#x2F;www.jetpack.io&#x2F;devbox) * [daytona](https:&#x2F;&#x2F;www.daytona.io&#x2F;docs&#x2F;usage&#x2F;workspaces&#x2F;) * [devshell](https:&#x2F;&#x2F;github.com&#x2F;numtide&#x2F;devshell) * [bob.build](bob.build) more focused on the build </code></pre> I am glad that flox is pushing its development forward. Does flox have a way to run services? With `devenv` I run my database with `devenv up`.
评论 #39696507 未加载
评论 #39696984 未加载
评论 #39698182 未加载
评论 #39696159 未加载
评论 #39697621 未加载
评论 #39698416 未加载
评论 #39699776 未加载
评论 #39700487 未加载
ceving大约 1 年前
I do not understand the usecase. If I need a particular environment I will install it in LXC.
评论 #39694724 未加载