Nix is the package manager most likely to make you give up. These rules of thumb keep you productive while the rest of the language and ecosystem sinks in.
Start with nix shell. Don't try to install Nix and immediately replace your whole dev workflow. Use nix shell for try-this-tool experiments. Once that feels natural, write a flake for a real project. Once that feels natural, look at nix-darwin.
Skip channels — go straight to flakes. The older 'channels' workflow (nix-channel --add) is what most legacy tutorials use, and it's full of footguns around reproducibility. The modern flake-based workflow is what new code uses; learn it first.
Use search.nixos.org/packages. The CLI nix search works, but the web UI is faster and shows you the exact attribute name to use in a flake.
When you write your first flake, copy a working starter. The MikaelFangel/nixos-config, srid/haskell-flake, or numtide/devshell starters give you a flake that works on day one. Iterate from a working starter, never from a blank file.
Embrace the learning budget. Nix isn't 'I'll learn it on a quiet afternoon'. It's 'I'll spend 20 minutes a day for two weeks'. The other package managers in this quest you can learn during a coffee break; Nix you learn during a season.