# What is nixpkgs?

You'll often run across the name 'nixpkgs' in this documentation. Nix itself is really just the package manager and build tool - it doesn't come with any software packages, and expects the user to point it at some sort of 'package set'.

That's where nixpkgs comes in - it's the officially maintained package set for Nix, and it's what almost every Nix user uses. It contains a [wide selection of software](https://nixos.org/nixos/packages.html) - comparable to what you might find in most Linux distributions, and often even exceeding them - as well as all the bits and pieces for [NixOS](https://wiki.slightly.tech/books/learning-nixos/page/what-is-nixos "What is NixOS?").

You're not limited to using nixpkgs, of course. It's just selected as a default when you install Nix, and you're free to add other package sets, or write an 'overlay' that extends nixpkgs with additional packages. For example, Mozilla maintains [a nixpkgs overlay](https://github.com/mozilla/nixpkgs-mozilla) for their Rust and Firefox projects; and many users maintain Flakes, which can provide their own package sets.

If you're in a more experimental mood, you could even totally remove nixpkgs, and write your own package set from scratch. This is something that most users won't want (or need) to do, though.