top | item 30164886

(no title)

jonringer117 | 4 years ago

Copying my comment from reddit[0]:

For clarity, Arch has about 10k packages, AUR has around 60k packages. I believe this post is "just" about the 10k.

> I’d like to see someone do this for Ubuntu, Debian, and NixOS and watch them suffer.

Speaking for NixOS:

I have. I would sometimes do a nixpkgs-review[1] of the mass "rebuild" PRs for Nixpkgs[2]. Hard to know how long it took to build as I would just let it "cook" on my build server while I did other things. The other thing is that nix gives unique names to all built packages and utilizes "maximal sharing" thereof, so everything gets memo-ized[3] on future runs.

The scale of the official nixpkgs repository is 4-6x greater than that of Arch (AUR is the user repository). 9.6k Arch packages vs 59.4k Nixpkgs packages according to repology[4]

Lastly, installing packages in nix is different. Everything goes into the nix store, which is relatively "inert". I don't need to worry about "hooks" or stateful logic being executed affecting my system. "But then how do you create services and other meaningful abstractions needed to make an OS? I thought NixOS was a distribution" It is, and it's down through NixOS modules[5] in the form of a configuration.nix. The NixOS modules can compose the verticals in my system to deliver something coherent and amazing.

Server used:

    OS: NixOS 22.05 (Quokka) x86_64
    Kernel: 5.10.91
    CPU: AMD Ryzen Threadripper 3990X (128) @ 2.900GHz
    Memory: 125913MiB / 257687MiB
[0]: https://www.reddit.com/r/linux/comments/shxq12/comment/hv5by... [1]: https://github.com/Mic92/nixpkgs-review [2]: https://github.com/NixOS/nixpkgs/pull/144730#pullrequestrevi... [3]: https://en.wikipedia.org/wiki/Memoization [4]: https://repology.org/repositories/statistics/newest [5]: https://nixos.wiki/wiki/Module

discuss

order

Diti|4 years ago

Installing every single Nix package is a piece of cake. Just run nix-env -i without argument.

Nix has been behaving that way for at least 8 years: https://github.com/NixOS/nix/issues/308

jonringer117|4 years ago

Oh, nix-env.... The tool which attempted to bridge the worlds of nix and traditional package managers. But has all of the quirks of both.