code: func (ac *Context) ExportIntoEnv(env environ.Env) environ.Env {
  	env = env.Clone()
  	ac.exported.SetInEnviron(env)
  
  	if ac.EnableGitAuth {
  		env.Set("GIT_TERMINAL_PROMPT", "0")           // no interactive prompts
  		env.Set("GIT_CONFIG_NOSYSTEM", "1")           // no $(prefix)/etc/gitconfig
  		env.Set("INFRA_GIT_WRAPPER_HOME", ac.gitHome) // tell gitwrapper about the new HOME
  	}
  
  	if ac.EnableDockerAuth {
  		env.Set("DOCKER_CONFIG", ac.dockerConfig)
  		env.Set("DOCKER_TMPDIR", ac.dockerTmpDir)
  	}
  
  	if ac.EnableDevShell {
  		env.Remove("BOTO_PATH") // avoid picking up bot-local configs, if any
  		if ac.anonymous {
  			// Make sure gsutil is not picking up any stale .boto configs randomly
  			// laying around on the bot. Setting BOTO_CONFIG to empty dir disables
  			// default ~/.boto.
  			env.Set("BOTO_CONFIG", "")
  		} else {
  			// Point gsutil to use our auth shim server and export devshell port.
  			env.Set("BOTO_CONFIG", ac.gsutilBoto)
  			if ac.devShellAddr != nil {
  				env.Set(devshell.EnvKey, fmt.Sprintf("%d", ac.devShellAddr.Port))
  			} else {
  				// See https://crbug.com/788058#c14.
  				logging.Warningf(ac.ctx, "Disabling devshell auth for account %q", ac.ID)
  			}
  		}
  	}
  
  	if ac.EnableFirebaseAuth && !ac.anonymous {
  		// Point firebase to the generated token.
  		env.Set("FIREBASE_TOKEN_URL", ac.firebaseTokenURL)
  	}
  
  	return env
  }
docs: // ExportIntoEnv exports details of this context into the environment, so it can
  // be inherited by subprocesses that supports it.
  //
  // Returns a modified copy of 'env'.