packageOverrides examle from docs is not working

Hi,

I know packageOverrides are deprecated, but nix-shell doesn’t react anyhow. There is no warning nor tkinter rebuild.
Docs still mention such option.

with import <nixpkgs> {};
(let
  python =
    let packageOverrides = self: super: {
          tkinter = super.tkinter.overridePythonAttrs(old: {
            disabled = false;
            doCheck = false;
            installPhase = ''echo HELLO WORLD'';
          });
        };
    in pkgs.python39.override { 
            inherit packageOverrides;
            self = python; };
in python39.withPackages (ps: with ps; [ tkinter ])).env
nix-shell

uname -a
Darwin Mac-mini.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:33 PDT 2021; root:xnu-7195.1 21.3~9/RELEASE_X86_64 x86_64

nix-channel --list
nixpkgs nixpkgs-unstable release nixpkgs-21.11pre326916.7053541084b

Meanwhile overlay way behaves as expected.

let
  pkgs = import <nixpkgs> {};
  newpkgs = import pkgs.path {
    overlays = [ (self: super: {
      python39 =
        let
          packageOverrides = python-self: python-super: {
            tkinter = python-super.tkinter.overridePythonAttrs(old: {
              disabled = false;
              installPhase = ''echo DDDDDDDDDDDDDD'';
            });
          };
        in super.python39.override {
          inherit packageOverrides;
        };
    } ) ];
  };
in(newpkgs.python39.withPackages (p: with p; [ tkinter ])).env

You create an overridden interpreter python, yet you then use python39.withPackages instead of python.withPackages.

Oh. I am a blind :wink:
Last last must be:

in python.withPackages (ps: with ps; [ tkinter ]))

Thx.