anchor.diff:              + lib.optionalString enableDebug "-debug" + "-${version}";
             inherit version;
             src = ./.;
  -          buildInputs = [ ctags ncurses ] ++ lib.optionals enablePython [
  +          buildInputs = [ stdenv ctags ncurses ] ++ lib.optionals enablePython [
               python3
               python3.pkgs.ctypesgen
               python3.pkgs.setuptools
  
positive.code:             hooks.yamllint.enable = true;
            };
  
          in pkgs.mkShell {
            inherit (pre-commit) shellHook;
  
            # Tempting to include bifrost-doc.buildInputs here, but that requires
  
negative.code:             (name: pkg: isCuda name && lib.elem pkgs.system pkg.meta.platforms)
              pkgs;
  
            # Which C++ compilers can we build with? How to name them?
            eachCxx = f:
              lib.concatMap f (with pkgs; [
                stdenv
                gcc8Stdenv
                gcc9Stdenv
                gcc10Stdenv
                gcc11Stdenv
                clang6Stdenv
                clang7Stdenv
                clang8Stdenv
                clang9Stdenv
                clang10Stdenv
              ]);
            cxxName = stdenv:
              lib.optionalString (stdenv != pkgs.stdenv) ("-"
                + lib.replaceStrings [ "-wrapper" ] [ "" ] stdenv.cc.pname
                + lib.versions.major stdenv.cc.version);
  
            eachBool = f: lib.concatMap f [ true false ];
            eachCuda = f: lib.concatMap f ([ null ] ++ lib.attrNames cudaAttrs);
            eachConfig = f:
              eachBool (enableDebug:
                eachCuda (cuda:
                  eachCxx (stdenv:
                    f (cxxName stdenv
                      + lib.optionalString (cuda != null) "-${shortenCuda cuda}"
                      + lib.optionalString enableDebug "-debug") {
                        inherit stdenv enableDebug;
                        enableCuda = cuda != null;
                        cudatoolkit = pkgs.${cuda};
                      })));
  
            # Runnable ctypesgen per python. Though it's just the executable we
            # need, it's possible something about ctypes library could change
  