anchor.diff:    # Customized package set
     pkgs = config: overlay: let
       pkgSet = (import nixpkgs) {
  -      overlays = [ overlay ] ++ preOverlays ++ [ (import ./overlay.nix) ] ++ postOverlays;
  +      overlays = [ overlay ] ++ preOverlays ++ [
  +        (if pin then (import ./default.nix) else (import ./overlay.nix))
  +      ] ++ postOverlays;
  +
         config.allowUnfree = allowUnfree;
         config.qchem-config = cfg;
         # Provide a handler to sort out unfree Packages
  
positive.code:   , NixOS-QChem ? { shortRev = "0000000"; }
    # build more variants
    , buildVariants ? false
  } :
  
  
  
negative.code:   in pkgsClean;
  
  in {
    "${cfg.prefix}" = pkgs config (self: super: {});
  
  } # Extra variants for testing purposes
  // (if buildVariants then {
    "${cfg.prefix}-mpich" = pkgs config (self: super: { mpi = super.mpich; });
  
    "${cfg.prefix}-mvapich" = pkgs config (self: super: { mpi = self.mvapich; });
  
    "${cfg.prefix}-mkl" = pkgs config (self: super: {
      blas = super.blas.override { blasProvider = super.mkl; };
      lapack = super.lapack.override { lapackProvider = super.mkl; };
    });
  
    "${cfg.prefix}-amd" = pkgs config (self: super: {
      blas = super.blas.override { blasProvider = super.amd-blis; };
      fftw = self.qchem.amd-fftw;
      scalapack = self.qchem.amd-scalapack;
  