←back to thread

555 points maheshrijal | 10 comments | | HN request time: 0.211s | source | bottom
Show context
erikw ◴[] No.43709152[source]
Interesting... I asked o3 for help writing a flake so I could install the latest Webstorm on NixOS (since the one in the package repo is several months old), and it looks like it actually spun up a NixOS VM, downloaded the Webstorm package, wrote the Flake, calculated the SHA hash that NixOS needs, and wrote a test suite. The test suite indicates that it even did GUI testing- not sure whether that is a hallucination or not though. Nevertheless, it one-shotted the installation instructions for me, and I don't see how it could have calculated the package hash without downloading, so I think this indicates some very interesting new capabilities. Highly impressive.
replies(5): >>43709469 #>>43709535 #>>43710231 #>>43713910 #>>43714068 #
1. peterldowns ◴[] No.43709469[source]
If it can write a nixos flake it's significantly smarter than the average programmer. Certainly smarter than me, one-shotting a flake is not something I'll ever be able to do — usually takes me about thirty shots and a few minutes to cool off from how mad I am at whoever designed this fucking idiotic language. That's awesome.
replies(3): >>43709668 #>>43709855 #>>43711694 #
2. ◴[] No.43709668[source]
3. ZeroTalent ◴[] No.43709855[source]
I was a major contributor of Flake. What in particular is so idiotic in your opinion?
replies(2): >>43709901 #>>43709996 #
4. yjftsjthsd-h ◴[] No.43709901[source]
FWIW, they said the language was bad, not specifically flakes. IMHO, nix is super easy if you already know Haskell (possibly others in that family). If you don't, it's extremely unintuitive.
5. peterldowns ◴[] No.43709996[source]
I use flakes a lot and I think both flakes and the Nix language are beyond comprehension. Try searching duckduckgo or google for “what is nix flakes” or “nix flake schema” and take an honest read at the results. Insanely complicated and confusing answers, multiple different seemingly-canonical sources of information. Then go look at some flakes for common projects; the almost necessary usage of things like flake-compat and flake-util, the many-valid-approaches to devshell and package definitions, the concepts of “apps” in addition to packages. All very complicated and crazy!

Thank you for your service, I use your work with great anger (check my github I really do!)

replies(1): >>43710266 #
6. ZeroTalent ◴[] No.43710266{3}[source]
I apologize. It was my Haskell life period.
replies(1): >>43710323 #
7. peterldowns ◴[] No.43710323{4}[source]
I forgive you as I hope you forgive me. Flakes are certainly much better than Nix without them, and they’ve saved me much more time than they’ve cost me.
replies(2): >>43713871 #>>43750276 #
8. brailsafe ◴[] No.43711694[source]
I mean, a smart programmer still has to learn what NixOs and Flakes are, and based on your description and some cursory searching, a smart programmer would just go do literally anything else. Perfect thing to delegate to a machine that doesn't have to worry about motivation.

Just jokes, idk anything about either.

\s

9. wg0 ◴[] No.43713871{5}[source]
Man ... Classic HN.

But yes unfortunately even if you across the whole functional paradigm, nix is surely complicated. And one single file whole system up is rarely true.

10. ZeroTalent ◴[] No.43750276{5}[source]
No worries I also have to say I haven't had me morning coffee when I was writing my comment and maybe reacted overly emotionally. To me prioritizing Flakes being succinct was a priority.