Nix Packages collection
The needs of the Nix language differs from that of a general purpose programming language. Its sole purpose is to output a self-contained and deterministic package build script. As such, it doesn't need persistent state. Every external output, such as source tarballs has their hashes verified so it should wield the exact same result every time it's evaluated. If any external output doesn't match expectations, evaluation would be aborted immediately.
> And it would not be possible to keep track of anything. No counting, no transformation of data, nothing.
All of this is possible without state. Counting could be done with, say, 'builtins.length'. As for transforming data, that's what programming languages literally do. The Nix language isn't an exception here. In fact, the Nix language has everything to do with transforming data. It transforms high level package definitions to lower level build instructions.
> I see a lot of overhead coming from these mental gymnastics with no benefit
At least with the Nix language, there's no mental gymnastics going on. Defining a package is as simple as it gets, as can be seen here. The benefits are reproducible package builds and composability. Since Nix functions don't contain state, it's really easy to combine abstractions and make modifications to packages compared to conventional package managers. See the Chrome example in the NixOS Wiki.
The nix template, configured for Gitpod (www.gitpod.io) to give you pre-built, nix based ephemeral development environments in the cloud.
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
How to code, build, and deploy from an iPad using Gitlab and Gitpod
4 projects | news.ycombinator.com | 18 Apr 2022
Use remote package derivation file with nix-shell --packages option
5 projects | reddit.com/r/NixOS | 24 Feb 2022
NixOS History and Our Experience - Nix, Null, Nada, Nothing
8 projects | reddit.com/r/NixOS | 26 Jan 2022
Nix Mate: Installing stuff with Nix made easy
1 project | news.ycombinator.com | 30 Sep 2021
Building Container Images with Nix
6 projects | news.ycombinator.com | 19 Aug 2021