That is why with
expression is discouraged by many people. You are probably getting python38
from with pkgs
you have in the outer scope. Notice that the reply that suggested this correctly wrapped the with pkgs
scope in parentheses:
Either add the parentheses, or just use old-nixpkgs.python38
directly.
Also, if you are passing old-nixpkgs
from inputs
directly to specialArgs
as suggested in Python3.8 sphinx build failure on unstable - #13 by iFreilicht, you are passing the whole flake, so you would have to use something like old-nixpkgs.legacyPackages.x86_64-linux.python38
in the configuration.
Or just pass only the old package set:
specialArgs = {
old-nixpkgs = old-nixpkgs.legacyPackages.${system};
};