Modern Nix has dozens of commands, but five carry most of the daily work for a non-expert. Learn these and you can be productive while you climb the rest of the curve.
nix shell nixpkgs#<pkg> drops you into a temporary subshell with the package available. Exit the shell, the package vanishes — your system stays untouched. This is the perfect 'try a tool without committing' workflow.
nix run nixpkgs#<pkg> -- <args> downloads and runs a package in one shot, like npx for the entire universe of packages.
nix develop enters the dev environment defined by your project's flake.nix. This is the production use of Nix — drop a flake.nix in your repo, and any teammate can run nix develop to get exactly your tool versions, regardless of their OS or what's already on their PATH.
nix search nixpkgs <query> finds packages by name or description. (You can also browse https://search.nixos.org/packages, which is faster.)
nix-env is the older, imperative interface — it permanently installs into your user profile. The flake-based commands (shell/run/develop) are the modern way; nix-env is mostly for legacy guides. Know it exists; prefer flakes.