5 ms·
I think Snowflake is an awesome project and addresses a lot of the complaints that newcomers have about NixOS. However, I don't personally use it. I've used Ni
by megaloblasto 2y ago
I think Snowflake is an awesome project and addresses a lot of the complaints that newcomers have about NixOS.
However, I don't personally use it. I've used NixOS to build an OS that is exactly what I want, and I can easily reproduce it on any machine and seamlessly run any of my projects on any of my devices. It has completely solved dependency hell for me.
I don't exactly understand the complaints that Nix is hard to use. So is the C programming language. So is advanced mathematics. These things aren't meant for everyone to use. They are specific tools that solve specific problems and they do it well.
Personally I think Nix should be a lot smaller. I think it should be a small set of tools that allows you to build reproducible systems and avoid dependency hell, and not too much more then that. Everything else should be up to the user.
If you don't see the use, then there are so many other wonderful Linux distributions that will probably suit you better.
I don't mean to be too harsh, I just think Nix is one of the most incredible pieces of software I've ever used, and I get tired of the hate.
- imiric 2y ago> I've used NixOS to build an OS that is exactly what I want, and I can easily reproduce it on any machine and seamlessly run any of my projects on any of my devices. That's great, but you've already passed the steep learning curve, gotten familiar with all the tooling and concepts, and know how to troubleshoot things when they go wrong. For many new users of Nix, these are major hurdles for adoption. The core principles of Nix are great: reproducibility, isolation, ability to revert to a previous state, etc. The problem is the UI to achieve all of that. I haven't used SnowflakeOS, and it's the first time I'm hearing about it, but if it can have the same benefits of NixOS while making the UI friendlier for new users, then it's a huge win in my book. I think that all operating systems should have these features, whether Nix itself is the one to deliver them or not. FWIW, I've used Nix(OS) for many years, and still can't say that I'm comfortable with it. It always takes me time to research and tinker when it behaves in unexpected ways, or to find out how to do a certain thing with it. This should just not be the case, even though it's partly on me for not sitting down to understand it thoroughly. The thing is that most people, even those technically minded, don't have that kind of patience. So anything developers can do to improve usability can bring these benefits to a larger user base, which is a noteworthy goal.
- megaloblasto 2y agoI agree and I totally get where you are coming from. I tend to give my positive perspective about Nix whenever I see too much hate because I think it's really a wonderful tool, up there with git and emacs. Sometimes the critiques I see are akin to "pointers in C are so confusing. I wish I had a nice GUI to be able to program with them". To me that critique misses the point of the power of the underlying software.
- conradludgate 2y agoThe last 3 times I tried to learn nix either 1. It just hasn't worked (excessive linking errors on macos) 2. Barrage of information. Should I use home manager? Use global config? I should be using overlays or flakes? There's too much going on and I've found too much conflicting information online. I'm not going near nix probably for another 3 years. It has a lot to fix before I can invest time into trying to learn it yet again
- megaloblasto 2y agoThis is very valid. There are some serious shortcomings with the documentation and a lot of choices to be made that can be overwhelming. However, it solves every problem I've had with package management so well that it was worth it for me to dive and slowly figure it out.