Nix

Nix is a purely functional package manager. NixOS is a Linux distribution using Nix.

Channels

Nix channels - NixOS Wiki
Nix retrieves packages from channels within repositories. The most important repository is nixpkgs, which contains regular stable channels (e.g. 19.09) and the single most popular Nix channel, nixpkgs-unstable. I have a local copy of nixpkgs on pigeon at ~/code/nixpkgs.
Do not confuse stable channels with LTS! There are no LTS channels. Stable channels roll over roughly every 6 months, with about a month of support overlap.

User environment

home-manager is the usual tool for managing user environments. See home.nix
Sander van der Burg's blog: Managing private Nix packages outside the Nixpkgs tree
Thedro Neely: Declarative user package management in NixOS
kimagure: Putting your own derivations in Nix Profile

Storage optimisation

See https://nixos.wiki/wiki/Storage_optimization for detailed info
nix-store --optimise can save some space for a one-time CPU cost. nix.autoOptimiseStore = true can do this automatically

Garbage collection

Nix keeps old packages around to facilitate easy rollbacks. This can take up a lot of space
Packages can be deleted when they are not linked to from any GC root. nix-collect-garbage will do this, or nix-store --gc.
Profiles and generations are GC roots, as well as /run/booted-system on NixOS.
nix-collect-garbage -d will delete "old" generations, that is, all but the current one

Tips

Mic92/nixpkgs-review: Review pull-requests on nixpkgs
Nix Pills: Recipes for using Nix; less impenetrable than the manual
readlink -f is useful for tracking down the actual content of files.
strace is useful for tracking down configuration/logs
How do Nix builds work?