Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Currently using Fedora Silverblue. I am tempted to learn Nix and NixOS, but I have red several accounts that Nix is hard, documentation somewhat lacking, the ecosystem frustrating. Can anyone tell me if I should invest time to learn Nix, nonetheless?


I think so. The learning curve is steep at the beginning, but once things click it can be very rewarding.

I personally use Nix for having a consistent dev environment for my projects.

I think this shows some things nix enables: https://youtu.be/6Le0IbPRzOE

Around 14 minutes in author is starting doing live demos.


I'll second this video recommendation! It's long, but it's basically a series of brief demos, so you can get a lot of the value out of it even if you start in the middle or skip around.


I'm on Fedora Workstation since 30.

I've been forcing myself to get into NixOS. The idea is great. The Nix expression language isn't hard. I like the immutable root and generations (snapshots).

Setting up a desktop environment or Window Manager is quick and easy. Applications selection is great and you can install different versions in parallel.

The biggest problem for me is on the driver/hardware suppoet of my 2022 gaming laptop. Suspend, sleep, hibernate can be finicky. The graphics driver can also be hit or miss.

Documentation can be better especially for the NixOS exclusive behaviors. The Nix configurations needs more details as to what it exactly does and the packages it pulls. The Arch wiki and other Linux docs can cover the general stuff.


I think it's really worth it.

When I was in college, I discovered that reading in different genres (mathematics textbooks, philosophical papers) was a different skill than reading in general. I had to kind of get a feel for certain specialized genres and styles, and after I did, it gave me an ability to read them much faster than I could when I started.

As a Linux hobbyist, I learned that a huge part of feeling at home on the CLI was learning how to explore an environment at the command line, and the tools available for doing that: man, info, --help, tldr, bro, apropos, whatis, etc. Learning how to use completions and my own shell history to recall and mentally reinforce commands, even if I'd only ever used them once before was a big thing. Learning a new command takes me a hell of a lot less time now than it did when I was kid.

The Nix ecosystem is a little bit like that. The resources you can find on nixos.org are good, and you can get by with just them and some manpages, but it'll be slow at first. As you spend more time with Nix, you get a sense of what order to consult the official docs in and what unofficial resources are worth looking at. You now how to read Nix code and can quickly find examples or answer questions just by grepping through Nixpkgs. You gain enough background that it's easy for you to ask useful questions on Matrix, IRC, or Discourse. And the time it takes to learn something about the Nix universe that's totally new to you goes way down.

If you go into Nix with an eye out for resources and methods of learning like that, I think you'll get your bearings more quickly. If you make a reasonable effort to ask good questions and you're patient, you'll also get a lot of good help.

Parts of the Nix ecosystem are and will stay frustrating. But for me, it was totally worth it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: