this post was submitted on 18 Oct 2023
17 points (100.0% liked)

nixos

1245 readers
1 users here now

All about NixOS - https://nixos.org/

founded 4 years ago
 

Could be areas of improvement as well

you are viewing a single comment's thread
view the rest of the comments
[–] jeffhykin@lemm.ee 10 points 11 months ago* (last edited 11 months ago) (14 children)

after spending +3 years getting experienced and reading a lot of the source code (getting past the documentation/learning-curve problem), I can say there are at least two fundamental flaws, with nixpkgs moreso than nixos:

(Edit: Added 0)

  1. The culture issue. See thread below

  2. The messy mono-repo was never desgined to be searchable. It might feel searchable to a newby, but many teams have dumped tons of effort and slapped together lots of hacks to make niche-package-versions even halfway searchable. Devbox is doing a good job of fixing this, but its not there yet.

  3. The monorepo design is unmaintainable/unscalable from a package maintainer standpoint. There's a ton of contributor burnout, there's no automated quality control on packages, to outsiders its not obvious how to report package-specific issues or how to edit/fix/contribute to a single package, and instead of 30min to publish a hello-world npm or cargo package, users need to make a PR on the core, and get it approved. Meaning publishing a hello-world package would get rejected anyways. The good news is flakes hub is fixing this, and I'm really excited for that.

The good is;

  • The pros still outweigh the cons. My projects from 3 years ago that I haven't touched still work (0 bitrot) first try, no manual install/setup needed.
  • people have put a ton of effort into nix. Its truely amazing how many things work in nix despite how absurdly difficult it is to get things working with nix
  • it is pretty much as reproducable as it can be and nothing else is even remotely close.
[–] nyl@lemmy.opensupply.space 2 points 11 months ago* (last edited 11 months ago) (1 children)

How do you see these solutions by third-party? Wouldn't that likely lead to go far away from the community and do commercialization and proprietary solutions?

[–] jeffhykin@lemm.ee 2 points 11 months ago* (last edited 11 months ago)

I worry some about devbox being closed source with their package indexing soltuion. I talked with them on a video call and they seem like great guys. And they said they'd pull the indexing part out of their private repo and make it open source so I could help work on it. They openly talked about their design and have blog posts about it too. But that was 2 maybe 3 months ago and I still haven't heard back. I should maybe ping them. The real downside is they've got an unusual amount of "lock in". Devbox is not a tool that enhances nix, its just a tool that uses nix under the hood. However they do solve the ease-of-use problem which is a really big deal (they make some tradeoffs though).

Flakes hub, by Determinate Systems, I have absolutely 0 concern about. They're truely just enhancing nix, and even if they dissapeared the packages already on flakeshub would still effectively work because they're distrubuted. Flakeshub is just a registry for standarized searching of flakes by individual people. Publishing is built on top of github actions which I'm not the biggest fan of. But there are ways of running github actions locally.

load more comments (12 replies)