What is a Nix package collection?

A Nix package collection is a set of Nix packages - functions which take derivations as inputs and produce derivations as outputs - along with the Nix code required to wire things up so that all of the derivations are given their dependencies from the other packages within the package collection.

This means that the contents of the package tree are ready-to-build derivations, since all of these deriviation-producing functions have been provided with their required arguments.

You can grab the common package set used by the community here:

git clone https://github.com/NixOS/nixpkgs

which has different branches that people use.

You can fork the community package set, write your own package set, write extensions to the community package set - you can slice and dice these more or less any way that you want. The easiest way to manage these is via channels, which I’ll cover once you get started with Nix.