No, not by default. The “system channel” is in fact just what nixpkgs
is set to in NIX_PATH, so we need to set up nix.config.nixPath
so that the nixpkgs entry points to the version of nixpkgs provided by our flake. @NobbZ has the most correct implementation of this I’ve seen:
This avoids some pitfalls with using store paths in the nix path, and also sets up the flake registry so nix shell nixpkgs#foo
does what you think it does. I honestly think this should be set by default, but we’re not there yet.
It will make any invocation of <nixpkgs>
point to the nixpkgs maintained by the flake, which is what most old nix commands use. You can then remove any channels you used with nix-channel
(and sudo nix-channel
), and all nix commands will still function.
You should probably also use the new commands where possible, though