for c in nixos nixpkgs nixpkgs-unstable; do printf "%s:\t%s\n" "$c" "$(nix-instantiate --eval --expr "(import <$c> {}).lib.version" 2>/dev/null)"; done
printenv NIX_PATH
The fact that there is a pre-git in nixpkgs, makes me assume that you are using flakes and that you managed it somehow map the nixpkgs-flake-input to the nixpkgs nix path entry. This is usually done through the NIX_PATH, though if you do not define it, it would be hard to get that happen…
Do you therefore mind sharing the output of nix config show nix-path as well?
Did you use the determinate nix installer? That might be why. You should be able to edit your nix.conf to remove the entry if you’d like. You may need to restart the nix daemon and relog in for it to take effect, or merely reboot.
Then you should just keep your nixpkgs channel as pointing at https://nixos.org/channels/nixpkgs-unstable and remove your nixpkgs-unstable channel.