Module: Homebrew::EnvConfig

Extended by:
Utils::Output::Mixin
Includes:
Utils::Output::Mixin
Defined in:
env_config.rb,
sorbet/rbi/dsl/homebrew/env_config.rbi

Overview

This module is part of an internal API. This module may only be used internally in repositories owned by Homebrew, except in casks or formulae. Third parties should avoid using this module if possible, as it may be removed or changed without warning.

Helper module for querying Homebrew-specific environment variables.

Constant Summary collapse

BUNDLE_CORE_TYPES =

This constant is part of an internal API. This constant may only be used internally in repositories owned by Homebrew, except in casks or formulae. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

T.let({
  brew: "formula dependencies",
  cask: "cask dependencies",
  tap:  "tap dependencies",
}.freeze, T::Hash[Symbol, String])
BUNDLE_DISABLE_ENVS =

This constant is part of an internal API. This constant may only be used internally in repositories owned by Homebrew, except in casks or formulae. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

T.let(
  {
    cleanup: [BUNDLE_CORE_TYPES, Homebrew::Bundle.extensions.select(&:cleanup_supported?).to_h do |extension|
      [extension.type, extension.banner_name]
    end],
    dump:    [BUNDLE_CORE_TYPES, Homebrew::Bundle.extensions.select(&:dump_disable_supported?).to_h do |extension|
      [extension.type, extension.banner_name]
    end],
  }.flat_map do |command, type_descriptions|
    type_descriptions.reduce(&:merge).map do |type, description|
      verb = (command == :cleanup) ? "clean up" : "dump"
      [
        :"HOMEBREW_BUNDLE_#{command.upcase}_NO_#{type.to_s.upcase}",
        {
          description: "If set, `brew bundle #{command}` will not #{verb} #{description}.",
          boolean:     true,
        },
      ]
    end
  end.sort.to_h.freeze,
  T::Hash[Symbol, T::Hash[Symbol, T.untyped]],
)
ENVS =

This constant is part of an internal API. This constant may only be used internally in repositories owned by Homebrew, except in casks or formulae. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

T.let({
  HOMEBREW_ALLOWED_TAPS:                     {
    description: "A space-separated list of taps. Homebrew will refuse to install a " \
                 "formula unless it and all of its dependencies are in an official tap " \
                 "or in a tap on this list.",
  },
  HOMEBREW_API_AUTO_UPDATE_SECS:             {
    description: "Check Homebrew's API for new formulae or cask data every " \
                 "`$HOMEBREW_API_AUTO_UPDATE_SECS` seconds. Alternatively, disable API auto-update " \
                 "checks entirely with `$HOMEBREW_NO_AUTO_UPDATE`.",
    default:     450,
  },
  HOMEBREW_API_DOMAIN:                       {
    description:  "Use this URL as the download mirror for Homebrew JSON API. " \
                  "If metadata files at that URL are temporarily unavailable, " \
                  "the default API domain will be used as a fallback mirror.",
    default_text: "`https://formulae.brew.sh/api`.",
    default:      HOMEBREW_API_DEFAULT_DOMAIN,
  },
  HOMEBREW_ARCH:                             {
    description: "Linux only: Pass this value to a type name representing the compiler's `-march` option.",
    default:     "native",
  },
  HOMEBREW_ARTIFACT_DOMAIN:                  {
    description: "Prefix all download URLs, including those for bottles, with this value. " \
                 "For example, `export HOMEBREW_ARTIFACT_DOMAIN=http://localhost:8080` will cause a " \
                 "formula with the URL `https://example.com/foo.tar.gz` to instead download from " \
                 "`http://localhost:8080/https://example.com/foo.tar.gz`. " \
                 "Bottle URLs however, have their domain replaced with this prefix. " \
                 "This results in e.g. " \
                 "`https://ghcr.io/v2/homebrew/core/gettext/manifests/0.21` " \
                 "to instead be downloaded from " \
                 "`http://localhost:8080/v2/homebrew/core/gettext/manifests/0.21`",
  },
  HOMEBREW_ARTIFACT_DOMAIN_NO_FALLBACK:      {
    description: "When `$HOMEBREW_ARTIFACT_DOMAIN` and `$HOMEBREW_ARTIFACT_DOMAIN_NO_FALLBACK` are both set, " \
                 "if the request to `$HOMEBREW_ARTIFACT_DOMAIN` fails then Homebrew will error rather than " \
                 "trying any other/default URLs.",
    boolean:     :set,
  },
  HOMEBREW_ASK:                              {
    description: "Ask mode is the default for `brew install`, `brew upgrade` and " \
                 "`brew reinstall` commands. Ask mode prints the plan before proceeding and prompts only " \
                 "if the plan includes dependencies, dependants or packages other than named arguments. " \
                 "Otherwise, it only prints the plan. The confirmation prompt is skipped without a TTY.",
    boolean:     :set,
    disabled_by: :HOMEBREW_NO_ASK,
    default:     true,
    odeprecated: true,
  },
  HOMEBREW_AUTO_UPDATE_SECS:                 {
    description:  "Run `brew update` once every `$HOMEBREW_AUTO_UPDATE_SECS` seconds before some commands, " \
                  "e.g. `brew install`, `brew upgrade` or `brew tap`. Alternatively, " \
                  "disable auto-update entirely with `$HOMEBREW_NO_AUTO_UPDATE`.",
    default_text: "`86400` (24 hours), `3600` (1 hour) if a developer command has been run " \
                  "or `300` (5 minutes) if `$HOMEBREW_NO_INSTALL_FROM_API` is set.",
  },
  HOMEBREW_BAT:                              {
    description: "If set, use `bat` for the `brew cat` command.",
    boolean:     true,
  },
  HOMEBREW_BAT_CONFIG_PATH:                  {
    description:  "Use this as the `bat` configuration file.",
    default_text: "`$BAT_CONFIG_PATH`.",
  },
  HOMEBREW_BAT_THEME:                        {
    description:  "Use this as the `bat` theme for syntax highlighting.",
    default_text: "`$BAT_THEME`.",
  },
  HOMEBREW_BOTTLE_DOMAIN:                    {
    description:  "Use this URL as the download mirror for bottles. " \
                  "If bottles at that URL are temporarily unavailable, " \
                  "the default bottle domain will be used as a fallback mirror. " \
                  "For example, `export HOMEBREW_BOTTLE_DOMAIN=http://localhost:8080` will cause all bottles " \
                  "to download from the prefix `http://localhost:8080/`. " \
                  "If bottles are not available at `$HOMEBREW_BOTTLE_DOMAIN` " \
                  "they will be downloaded from the default bottle domain.",
    default_text: "`https://ghcr.io/v2/homebrew/core`.",
    default:      HOMEBREW_BOTTLE_DEFAULT_DOMAIN,
  },
  HOMEBREW_BREW_GIT_REMOTE:                  {
    description: "Use this URL as the Homebrew/brew `git`(1) remote.",
    default:     HOMEBREW_BREW_DEFAULT_GIT_REMOTE,
  },
  HOMEBREW_BROWSER:                          {
    description:  "Use this as the browser when opening project homepages.",
    default_text: "`$BROWSER` or the OS's default browser.",
  },
  **BUNDLE_DISABLE_ENVS.select { |env,| env < :HOMEBREW_BUNDLE_DESCRIBE },
  HOMEBREW_BUNDLE_DESCRIBE:                  {
    description: "If set, add a description comment above each line in `brew bundle dump` and " \
                 "`brew bundle add`, unless the dependency does not have a description. This is the default " \
                 "unless `$HOMEBREW_BUNDLE_NO_DESCRIBE` is set.",
    boolean:     true,
    disabled_by: :HOMEBREW_BUNDLE_NO_DESCRIBE,
    default:     true,
  },
  HOMEBREW_BUNDLE_DUMP_DESCRIBE:             {
    description: "If set, add a description comment above each line in `brew bundle dump` " \
                 "unless the dependency does not have a description. Use `$HOMEBREW_BUNDLE_DESCRIBE` instead.",
    boolean:     true,
    replacement: :HOMEBREW_BUNDLE_DESCRIBE,
    odeprecated: true,
  },
  **BUNDLE_DISABLE_ENVS.select { |env,| env > :HOMEBREW_BUNDLE_DESCRIBE },
  HOMEBREW_BUNDLE_FORCE_INSTALL_CLEANUP:     {
    description: "If set, run `brew bundle cleanup --force` after `brew bundle install`.",
    boolean:     true,
  },
  HOMEBREW_BUNDLE_INSTALL_CLEANUP:           {
    description: "If set, run `brew bundle cleanup` after `brew bundle install`.",
    boolean:     true,
    hidden:      true,
  },
  HOMEBREW_BUNDLE_JOBS:                      {
    # `HOMEBREW_BUNDLE_JOBS=auto` is the default.
    description: "Use this value as the number of formula installations to run in parallel for " \
                 "`brew bundle install`. Use `auto` for the number of CPU cores (max 4).",
    default:     "auto",
  },
  HOMEBREW_BUNDLE_NO_DESCRIBE:               {
    description: "If set, do not enable bundle description comments from `$HOMEBREW_BUNDLE_DESCRIBE` or " \
                 "the default. This does not disable an explicit `--describe`.",
    boolean:     true,
  },
  HOMEBREW_BUNDLE_NO_JOBS:                   {
    description: "If set, do not enable parallel jobs from `$HOMEBREW_BUNDLE_JOBS` or its default. " \
                 "This does not disable an explicit `--jobs`.",
    boolean:     true,
  },
  HOMEBREW_BUNDLE_NO_SECRETS:                {
    description: "If set, `brew bundle exec`, `brew bundle env` and `brew bundle sh` will attempt to remove " \
                 "secrets from the environment. This is the default unless `$HOMEBREW_BUNDLE_SECRETS` is set.",
    boolean:     true,
    disabled_by: :HOMEBREW_BUNDLE_SECRETS,
    default:     true,
  },
  HOMEBREW_BUNDLE_SECRETS:                   {
    description: "If set, do not enable secret scrubbing from `$HOMEBREW_BUNDLE_NO_SECRETS` or the " \
                 "default. This does not disable an explicit `--no-secrets`.",
    boolean:     true,
  },
  HOMEBREW_BUNDLE_USER_CACHE:                {
    description: "If set, use this directory as the `bundle`(1) user cache.",
  },
  HOMEBREW_CACHE:                            {
    description:  "Use this directory as the download cache.",
    default_text: "macOS: `~/Library/Caches/Homebrew`, " \
                  "Linux: `$XDG_CACHE_HOME/Homebrew` or `~/.cache/Homebrew`.",
    default:      HOMEBREW_DEFAULT_CACHE,
  },
  HOMEBREW_CASK_OPTS:                        {
    description: "Append these options to all `cask` commands. All `--*dir` options, " \
                 "`--language`, `--require-sha` and `--no-binaries` are supported. " \
                 "For example, you might add something like the following to your " \
                 "`~/.profile`, `~/.bash_profile`, or `~/.zshenv`:" \
                 "\n\n    `export HOMEBREW_CASK_OPTS=\"--appdir=${HOME}/Applications --fontdir=/Library/Fonts\"`",
  },
  HOMEBREW_CASK_OPTS_BINARIES:               {
    description: "Enable linking of helper executables for casks. Use " \
                 "`$HOMEBREW_CASK_OPTS` instead.",
    replacement: "HOMEBREW_CASK_OPTS",
    odeprecated: true,
  },
  HOMEBREW_CASK_OPTS_REQUIRE_SHA:            {
    description: "Require all casks to have a checksum. Use `$HOMEBREW_CASK_OPTS` instead.",
    replacement: "HOMEBREW_CASK_OPTS",
    odeprecated: true,
  },
  HOMEBREW_CLEANUP_MAX_AGE_DAYS:             {
    description: "Cleanup all cached files older than this many days.",
    default:     120,
  },
  HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:       {
    description: "If set, `brew install`, `brew upgrade` and `brew reinstall` will cleanup all formulae " \
                 "when this number of days has passed.",
    default:     30,
  },
  HOMEBREW_COLOR:                            {
    description: "If set, force colour output on non-TTY outputs.",
    boolean:     :set,
    disabled_by: :HOMEBREW_NO_COLOR,
  },
  HOMEBREW_CORE_GIT_REMOTE:                  {
    description:  "Use this URL as the Homebrew/homebrew-core `git`(1) remote.",
    default_text: "`https://github.com/Homebrew/homebrew-core`.",
    default:      HOMEBREW_CORE_DEFAULT_GIT_REMOTE,
  },
  HOMEBREW_CURLRC:                           {
    description: "If set to an absolute path (i.e. beginning with `/`), pass it with `--config` when invoking " \
                 "`curl`(1). " \
                 "If set but _not_ a valid path, do not pass `--disable`, which disables the " \
                 "use of `.curlrc`.",
  },
  HOMEBREW_CURL_PATH:                        {
    description: "Linux only: Set this value to a new enough `curl` executable for Homebrew to use.",
    default:     "curl",
  },
  HOMEBREW_CURL_RETRIES:                     {
    description: "Pass the given retry count to `--retry` when invoking `curl`(1).",
    default:     3,
  },
  HOMEBREW_CURL_VERBOSE:                     {
    description: "If set, pass `--verbose` when invoking `curl`(1).",
    boolean:     true,
  },
  HOMEBREW_DEBUG:                            {
    description: "If set, always assume `--debug` when running commands.",
    boolean:     :set,
  },
  HOMEBREW_DEVELOPER:                        {
    description: "If set, tweak behaviour to be more relevant for Homebrew developers (active or " \
                 "budding) by e.g. turning warnings into errors.",
    boolean:     :set,
  },
  HOMEBREW_DISABLE_DEBREW:                   {
    description: "If set, the interactive formula debugger available via `--debug` will be disabled.",
    boolean:     true,
  },
  HOMEBREW_DISABLE_LOAD_FORMULA:             {
    description: "If set, refuse to load formulae. This is useful when formulae are not trusted (such " \
                 "as in pull requests).",
    boolean:     true,
  },
  HOMEBREW_DISPLAY:                          {
    description:  "Use this X11 display when opening a page in a browser, for example with " \
                  "`brew home`. Primarily useful on Linux.",
    default_text: "`$DISPLAY`.",
  },
  HOMEBREW_DISPLAY_INSTALL_TIMES:            {
    description: "If set, print install times for each formula at the end of the run.",
    boolean:     true,
  },
  HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN: {
    description: "Use this base64 encoded username and password for authenticating with a Docker registry " \
                 "proxying GitHub Packages. If set to `none`, no authentication header will be sent. " \
                 "This can be used, if remote `$HOMEBREW_BOTTLE_DOMAIN` does not support any authentication. " \
                 "If `$HOMEBREW_DOCKER_REGISTRY_TOKEN` is set, it will be used instead.",
  },
  HOMEBREW_DOCKER_REGISTRY_TOKEN:            {
    description: "Use this bearer token for authenticating with a Docker registry proxying GitHub Packages. " \
                 "Preferred over `$HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN`.",
  },
  HOMEBREW_DOWNLOAD_CONCURRENCY:             {
    description: "Homebrew will download in parallel using this many concurrent connections. " \
                 "The default, `auto`, will use twice the number of available CPU cores " \
                 "(what our benchmarks showed to produce the best performance). " \
                 "If set to `1`, Homebrew will download in serial.",
    default:     "auto",
  },
  HOMEBREW_EDITOR:                           {
    description:  "Use this editor when editing a single formula, or several formulae in the " \
                  "same directory." \
                  "\n\n    *Note:* `brew edit` will open all of Homebrew as discontinuous files " \
                  "and directories. Visual Studio Code can handle this correctly in project mode, but many " \
                  "editors will do strange things in this case.",
    default_text: "`$EDITOR` or `$VISUAL`.",
  },
  HOMEBREW_ENV_SYNC_STRICT:                  {
    description: "If set, `brew *env-sync` will only sync the exact installed versions of formulae.",
    boolean:     true,
  },
  HOMEBREW_EVAL_ALL:                         {
    description: "If set, `brew` commands evaluate all trusted formulae and casks, " \
                 "executing their arbitrary code. Use `$HOMEBREW_REQUIRE_TAP_TRUST` or " \
                 "`$HOMEBREW_NO_REQUIRE_TAP_TRUST` instead.",
    boolean:     true,
    replacement: "HOMEBREW_REQUIRE_TAP_TRUST or HOMEBREW_NO_REQUIRE_TAP_TRUST",
    odeprecated: true,
  },
  HOMEBREW_FAIL_LOG_LINES:                   {
    description: "Output this many lines of output on formula `system` failures.",
    default:     15,
  },
  HOMEBREW_FORBIDDEN_CASKS:                  {
    description: "A space-separated list of casks. Homebrew will refuse to install a " \
                 "cask if it or any of its dependencies is on this list.",
  },
  HOMEBREW_FORBIDDEN_CASK_ARTIFACTS:         {
    description: "A space-separated list of cask artifact types (e.g. `pkg installer`) that should be " \
                 "forbidden during cask installation. " \
                 "Valid values: `pkg`, `installer`, `binary`, `uninstall`, `zap`, `app`, `suite`, " \
                 "`artifact`, `prefpane`, `qlplugin`, `dictionary`, `font`, `service`, `colorpicker`, " \
                 "`inputmethod`, `internetplugin`, `audiounitplugin`, `vstplugin`, `vst3plugin`, " \
                 "`screensaver`, `keyboardlayout`, `mdimporter`, `preflight`, `postflight`, " \
                 "`manpage`, `bashcompletion`, `fishcompletion`, `zshcompletion`, `stageonly`.",
  },
  HOMEBREW_FORBIDDEN_FORMULAE:               {
    description: "A space-separated list of formulae. Homebrew will refuse to install a " \
                 "formula or cask if it or any of its dependencies is on this list.",
  },
  HOMEBREW_FORBIDDEN_LICENSES:               {
    description: "A space-separated list of SPDX license identifiers. Homebrew will refuse to install a " \
                 "formula if it or any of its dependencies has a license on this list.",
  },
  HOMEBREW_FORBIDDEN_OWNER:                  {
    description: "The person who has set any `$HOMEBREW_FORBIDDEN_*` variables.",
    default:     "you",
  },
  HOMEBREW_FORBIDDEN_OWNER_CONTACT:          {
    description: "How to contact the `$HOMEBREW_FORBIDDEN_OWNER`, if set and necessary.",
  },
  HOMEBREW_FORBIDDEN_TAPS:                   {
    description: "A space-separated list of taps. Homebrew will refuse to install a " \
                 "formula if it or any of its dependencies is in a tap on this list.",
  },
  HOMEBREW_FORBID_CASKS:                     {
    description: "If set, Homebrew will refuse to install any casks.",
    boolean:     true,
  },
  HOMEBREW_FORBID_PACKAGES_FROM_PATHS:       {
    description:  "If set, Homebrew will refuse to read formulae or casks provided from file paths, " \
                  "e.g. `brew install ./package.rb`.",
    boolean:      true,
    default_text: "true unless `$HOMEBREW_DEVELOPER` is set.",
  },
  HOMEBREW_FORCE_API_AUTO_UPDATE:            {
    description: "If set, update the Homebrew API formula or cask data even if " \
                 "`$HOMEBREW_NO_AUTO_UPDATE` is set.",
    boolean:     true,
  },
  HOMEBREW_FORCE_BREWED_CA_CERTIFICATES:     {
    description: "If set, always use a Homebrew-installed `ca-certificates` rather than the system version. " \
                 "Automatically set if the system version is too old.",
    boolean:     :set,
  },
  HOMEBREW_FORCE_BREWED_CURL:                {
    description: "If set, always use a Homebrew-installed `curl`(1) rather than the system version. " \
                 "Automatically set if the system version of `curl` is too old.",
    boolean:     :set,
  },
  HOMEBREW_FORCE_BREWED_GIT:                 {
    description: "If set, always use a Homebrew-installed `git`(1) rather than the system version. " \
                 "Automatically set if the system version of `git` is too old.",
    boolean:     :set,
  },
  HOMEBREW_FORCE_BREW_WRAPPER:               {
    description: "If set, require `brew` to be invoked by the value of " \
                 "`$HOMEBREW_FORCE_BREW_WRAPPER` for non-trivial `brew` commands.",
  },
  HOMEBREW_FORCE_BREW_WRAPPER_HELP_MESSAGE:  {
    description: "If set, appended to the `$HOMEBREW_FORCE_BREW_WRAPPER` error message to provide " \
                 "additional help or context to the user.",
  },
  HOMEBREW_FORCE_VENDOR_RUBY:                {
    description: "If set, always use Homebrew's vendored, relocatable Ruby version even if the system version " \
                 "of Ruby is new enough.",
    boolean:     :set,
  },
  HOMEBREW_FORMULA_BUILD_NETWORK:            {
    description: "If set, controls network access to the sandbox for formulae builds. Overrides any " \
                 "controls set through DSL usage inside formulae. Must be `allow` or `deny`. If no value is " \
                 "set through this environment variable or DSL usage, the default behaviour is `allow`.",
  },
  HOMEBREW_FORMULA_POSTINSTALL_NETWORK:      {
    description: "If set, controls network access to the sandbox for formulae postinstall. Overrides any " \
                 "controls set through DSL usage inside formulae. Must be `allow` or `deny`. If no value is " \
                 "set through this environment variable or DSL usage, the default behaviour is `allow`.",
  },
  HOMEBREW_FORMULA_TEST_NETWORK:             {
    description: "If set, controls network access to the sandbox for formulae test. Overrides any " \
                 "controls set through DSL usage inside formulae. Must be `allow` or `deny`. If no value is " \
                 "set through this environment variable or DSL usage, the default behaviour is `allow`.",
  },
  HOMEBREW_GITHUB_API_TOKEN:                 {
    description: "Use this personal access token for the GitHub API, for features such as " \
                 "`brew search`. You can create one at <https://github.com/settings/tokens>. If set, " \
                 "GitHub will allow you a greater number of API requests. For more information, see: " \
                 "<https://docs.github.com/en/rest/overview/rate-limits-for-the-rest-api>" \
                 "\n\n    *Note:* Homebrew doesn't require permissions for any of the scopes, but some " \
                 "developer commands may require additional permissions.",
  },
  HOMEBREW_GITHUB_PACKAGES_TOKEN:            {
    description: "Use this GitHub personal access token when accessing the GitHub Packages Registry " \
                 "(where bottles may be stored).",
  },
  HOMEBREW_GITHUB_PACKAGES_USER:             {
    description: "Use this username when accessing the GitHub Packages Registry (where bottles may be stored).",
  },
  HOMEBREW_GIT_COMMITTER_EMAIL:              {
    description: "Set the Git committer email to this value.",
  },
  HOMEBREW_GIT_COMMITTER_NAME:               {
    description: "Set the Git committer name to this value.",
  },
  HOMEBREW_GIT_EMAIL:                        {
    description: "Set the Git author name and, if `$HOMEBREW_GIT_COMMITTER_EMAIL` is unset, committer email to " \
                 "this value.",
  },
  HOMEBREW_GIT_NAME:                         {
    description: "Set the Git author name and, if `$HOMEBREW_GIT_COMMITTER_NAME` is unset, committer name to " \
                 "this value.",
  },
  HOMEBREW_GIT_PATH:                         {
    description: "Linux only: Set this value to a new enough `git` executable for Homebrew to use.",
    default:     "git",
  },
  HOMEBREW_INSTALL_BADGE:                    {
    description:  "Print this text before the installation summary of each successful build.",
    default_text: 'The "Beer Mug" emoji.',
    default:      "🍺",
  },
  HOMEBREW_LIVECHECK_AUTOBUMP:               {
    description: "If set, `brew livecheck` will include data for packages that are autobumped by BrewTestBot.",
    boolean:     true,
  },
  HOMEBREW_LIVECHECK_WATCHLIST:              {
    description:  "Consult this file for the list of formulae to check by default when no formula argument " \
                  "is passed to `brew livecheck`.",
    default_text: "`${XDG_CONFIG_HOME}/homebrew/livecheck_watchlist.txt` if `$XDG_CONFIG_HOME` is set " \
                  "or `~/.homebrew/livecheck_watchlist.txt` otherwise.",
    default:      "#{ENV.fetch("HOMEBREW_USER_CONFIG_HOME")}/livecheck_watchlist.txt",
  },
  HOMEBREW_LOCK_CONTEXT:                     {
    description: "If set, Homebrew will add this output as additional context for locking errors. " \
                 "This is useful when running `brew` in the background.",
  },
  HOMEBREW_LOGS:                             {
    description:  "Use this directory to store log files.",
    default_text: "macOS: `~/Library/Logs/Homebrew`, " \
                  "Linux: `${XDG_CACHE_HOME}/Homebrew/Logs` or `~/.cache/Homebrew/Logs`.",
    default:      HOMEBREW_DEFAULT_LOGS,
  },
  HOMEBREW_MAKE_JOBS:                        {
    description:  "Use this value as the number of parallel jobs to run when building with `make`(1).",
    default_text: "The number of available CPU cores.",
    default:      lambda {
      require "os"
      require "hardware"
      Hardware::CPU.cores
    },
  },
  HOMEBREW_NO_ANALYTICS:                     {
    description: "If set, do not send analytics. Google Analytics were destroyed. " \
                 "For more information, see: <https://docs.brew.sh/Analytics>",
    boolean:     :set,
  },
  HOMEBREW_NO_ASK:                           {
    description: "If set, do not enable default ask mode. This does not disable an explicit `--ask`.",
    boolean:     :set,
  },
  HOMEBREW_NO_AUTOREMOVE:                    {
    description: "If set, calls to `brew cleanup` and `brew uninstall` will not automatically " \
                 "remove unused formula dependents.",
    boolean:     true,
  },
  HOMEBREW_NO_AUTO_UPDATE:                   {
    description: "If set, do not automatically update before running some commands, e.g. " \
                 "`brew install`, `brew upgrade` or `brew tap`. Preferably, " \
                 "run this less often by setting `$HOMEBREW_AUTO_UPDATE_SECS` to a value higher than the " \
                 "default. Note that setting this and e.g. tapping new taps may result in a broken  " \
                 "configuration. Please ensure you always run `brew update` before reporting any issues.",
    boolean:     :set,
  },
  HOMEBREW_NO_BOOTSNAP:                      {
    description: "If set, do not use Bootsnap to speed up repeated `brew` calls.",
    boolean:     :set,
  },
  HOMEBREW_NO_CLEANUP_FORMULAE:              {
    description: "A comma-separated list of formulae. Homebrew will refuse to clean up " \
                 "or autoremove a formula if it appears on this list.",
  },
  HOMEBREW_NO_COLOR:                         {
    description:  "If set, do not print text with colour added.",
    default_text: "`$NO_COLOR`.",
    boolean:      :set,
  },
  HOMEBREW_NO_EMOJI:                         {
    description: "If set, do not print `$HOMEBREW_INSTALL_BADGE` on a successful build.",
    boolean:     :set,
  },
  HOMEBREW_NO_ENV_HINTS:                     {
    description: "If set, do not print any hints about changing Homebrew's behaviour with environment variables.",
    boolean:     :set,
  },
  HOMEBREW_NO_EVAL_ENV_SCRUBBING:            {
    # odeprecated: remove in a later release
    description: "If set, sensitive environment variables are available while evaluating " \
                 "formulae and casks. `$HOMEBREW_GITHUB_API_TOKEN` is still available during evaluation " \
                 "when this is unset. This setting will be removed in a later release.",
    boolean:     true,
    odeprecated: true,
  },
  HOMEBREW_NO_FORCE_BREW_WRAPPER:            {
    description: "`Deprecated:` If set, disables `$HOMEBREW_FORCE_BREW_WRAPPER` behaviour, even if set.",
    boolean:     :set,
  },
  HOMEBREW_NO_GITHUB_API:                    {
    description: "If set, do not use the GitHub API, e.g. for searches or fetching relevant issues " \
                 "after a failed install.",
    boolean:     true,
  },
  HOMEBREW_NO_INSECURE_REDIRECT:             {
    description: "If set, forbid redirects from secure HTTPS to insecure HTTP." \
                 "\n\n    *Note:* while ensuring your downloads are fully secure, this is likely to cause " \
                 "sources for certain formulae hosted by SourceForge, GNU or GNOME to fail to download.",
    boolean:     true,
  },
  HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK:    {
    description: "If set, do not check for broken linkage of dependents or outdated dependents after " \
                 "installing, upgrading or reinstalling formulae. This will result in fewer dependents " \
                 "(and their dependencies) being upgraded or reinstalled but may result in more breakage " \
                 "from running `brew install` <formula> or `brew upgrade` <formula>.",
    boolean:     true,
  },
  HOMEBREW_NO_INSTALL_CLEANUP:               {
    description: "If set, `brew install`, `brew upgrade` and `brew reinstall` will never automatically " \
                 "cleanup installed/upgraded/reinstalled formulae or all formulae every " \
                 "`$HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS` days. Alternatively, `$HOMEBREW_NO_CLEANUP_FORMULAE` " \
                 "allows specifying specific formulae to not clean up.",
    boolean:     :set,
  },
  HOMEBREW_NO_INSTALL_FROM_API:              {
    description: "If set, do not install formulae and casks in homebrew/core and homebrew/cask taps using " \
                 "Homebrew's API and instead use (large, slow) local checkouts of these repositories.",
    boolean:     :set,
  },
  HOMEBREW_NO_INSTALL_UPGRADE:               {
    description: "If set, `brew install` <formula|cask> will not upgrade <formula|cask> if it is installed but " \
                 "outdated.",
    boolean:     true,
  },
  HOMEBREW_NO_PATH_SHADOW_CHECK:             {
    description: "If set, `brew info` and `brew install` will not warn when a formula's executables are " \
                 "shadowed by other commands earlier on `$PATH`.",
    boolean:     true,
  },
  HOMEBREW_NO_REQUIRE_TAP_TRUST:             {
    # odeprecated: remove in a later release after tap trust checks are the default.
    description: "If set, do not require non-official tap formulae, casks or commands to be trusted. " \
                 "This is not recommended and will be removed in a later release. Also enables commands " \
                 "that evaluate all formulae and casks.",
    boolean:     :set,
  },
  HOMEBREW_NO_SANDBOX_CASK:                  {
    # odeprecated: make cask executable sandboxing mandatory in a future release.
    description: "If set, disable sandboxing for cask artifacts that generate files by running " \
                 "executables.",
    boolean:     true,
    odeprecated: true,
  },
  HOMEBREW_NO_SANDBOX_LINUX:                 {
    description: "If set, disable the Linux sandbox.",
    boolean:     :set,
  },
  HOMEBREW_NO_UPDATE_REPORT_NEW:             {
    description: "If set, `brew update` will not show the list of newly added formulae/casks.",
    boolean:     true,
  },
  HOMEBREW_NO_UPGRADE_AUTO_UPDATES_CASKS:    {
    description: "If set, `brew upgrade` will not automatically upgrade casks with `auto_updates true`. " \
                 "Does not affect `--greedy` or `--greedy-auto-updates` upgrades.",
    boolean:     :set,
  },
  HOMEBREW_NO_UPGRADE_QUIT_CASKS:            {
    description: "If set, `brew upgrade` will not quit running applications for casks during upgrades.",
    boolean:     true,
  },
  HOMEBREW_NO_VERIFY_ATTESTATIONS:           {
    description: "If set, Homebrew will not verify cryptographic attestations of build provenance for bottles " \
                 "from homebrew-core.",
    boolean:     :set,
  },
  HOMEBREW_PIP_INDEX_URL:                    {
    description:  "If set, `brew install` <formula> will use this URL to download PyPI package resources.",
    default_text: "`https://pypi.org/simple`.",
  },
  HOMEBREW_PRY:                              {
    description: "If set, use Pry for the `brew irb` command.",
    boolean:     true,
  },
  HOMEBREW_REQUIRE_TAP_TRUST:                {
    # odeprecated: make tap trust checks default in a later release.
    description: "If set, require non-official tap formulae, casks and commands to be trusted with " \
                 "`brew trust` before Homebrew loads them. This is the default unless " \
                 "`$HOMEBREW_NO_REQUIRE_TAP_TRUST` is set. Also enables commands that evaluate all formulae " \
                 "and casks.",
    boolean:     :set,
    disabled_by: :HOMEBREW_NO_REQUIRE_TAP_TRUST,
    default:     true,
  },
  HOMEBREW_SANDBOX_LINUX:                    {
    description: "The `bwrap`(1) sandbox is the default for formula installation and testing " \
                 "on Linux unless `$HOMEBREW_NO_SANDBOX_LINUX` is set.",
    boolean:     :set,
    disabled_by: :HOMEBREW_NO_SANDBOX_LINUX,
    default:     true,
    odeprecated: true,
  },
  HOMEBREW_SBOM:                             {
    description: "If set, Homebrew will write SBOM files and run SBOM-related installation logic.",
    boolean:     true,
  },
  HOMEBREW_SIMULATE_MACOS_ON_LINUX:          {
    description: "If set, running Homebrew on Linux will simulate certain macOS code paths. This is useful " \
                 "when auditing macOS formulae while on Linux.",
    boolean:     true,
  },
  HOMEBREW_SKIP_OR_LATER_BOTTLES:            {
    description: "If set along with `$HOMEBREW_DEVELOPER`, do not use bottles from older versions " \
                 "of macOS. This is useful in development on new macOS versions.",
    boolean:     true,
  },
  HOMEBREW_SORBET_RECURSIVE:                 {
    description: "If set along with `$HOMEBREW_SORBET_RUNTIME`, enable recursive typechecking using Sorbet. " \
                 "Automatically enabled when running `brew tests`.",
    boolean:     true,
  },
  HOMEBREW_SORBET_RUNTIME:                   {
    description: "If set, enable runtime typechecking using Sorbet. " \
                 "Set by default when running `brew test`, `brew test-bot` or `brew tests`.",
    boolean:     :set,
  },
  HOMEBREW_SSH_CONFIG_PATH:                  {
    description:  "If set, Homebrew will use the given config file instead of `~/.ssh/config` when " \
                  "fetching Git repositories over SSH.",
    default_text: "`~/.ssh/config`",
  },
  HOMEBREW_SUDO_THROUGH_SUDO_USER:           {
    description: "If set, Homebrew will use the `$SUDO_USER` environment variable to define the user to " \
                 "`sudo`(8) through when running `sudo`(8).",
    boolean:     true,
  },
  HOMEBREW_SVN:                              {
    description:  "Use this as the `svn`(1) binary.",
    default_text: "A Homebrew-built Subversion (if installed), or the system-provided binary.",
  },
  HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY:        {
    description: "If set in Homebrew's system-wide environment file (`/etc/homebrew/brew.env`), " \
                 "the system-wide environment file will be loaded last to override any prefix or user settings.",
    boolean:     :set,
  },
  HOMEBREW_TEMP:                             {
    description:  "Use this path as the temporary directory for building packages. Changing " \
                  "this may be needed if your system temporary directory and Homebrew prefix are on " \
                  "different volumes, as macOS has trouble moving symlinks across volumes when the target " \
                  "does not yet exist. This issue typically occurs when using FileVault or custom SSD " \
                  "configurations.",
    default_text: "macOS: `/private/tmp`, Linux: `/var/tmp`.",
    default:      HOMEBREW_DEFAULT_TEMP,
  },
  HOMEBREW_UPDATE_TO_TAG:                    {
    description: "If set, always use the latest stable tag (even if developer commands " \
                 "have been run).",
    boolean:     :set,
  },
  HOMEBREW_UPGRADE_AUTO_UPDATES_CASKS:       {
    description: "If set, `brew upgrade` will automatically upgrade casks with `auto_updates true` when " \
                 "Homebrew detects that the version in the app bundle is older than the version in the tap. " \
                 "Does not affect `--greedy` or `--greedy-auto-updates` upgrades. This is the default unless " \
                 "`$HOMEBREW_NO_UPGRADE_AUTO_UPDATES_CASKS` is set.",
    boolean:     :set,
    disabled_by: :HOMEBREW_NO_UPGRADE_AUTO_UPDATES_CASKS,
    default:     true,
  },
  HOMEBREW_UPGRADE_GREEDY:                   {
    description: "If set, pass `--greedy` to all cask upgrade commands.",
    boolean:     true,
  },
  HOMEBREW_UPGRADE_GREEDY_CASKS:             {
    description: "A space-separated list of casks. Homebrew will act as " \
                 "if `--greedy` was passed when upgrading any cask on this list.",
  },
  HOMEBREW_VERBOSE:                          {
    description: "If set, always assume `--verbose` when running commands.",
    boolean:     :set,
  },
  HOMEBREW_VERBOSE_USING_DOTS:               {
    description: "If set, verbose output will print a `.` no more than once a minute. This can be " \
                 "useful to avoid long-running Homebrew commands being killed due to no output.",
    boolean:     true,
  },
  HOMEBREW_VERIFY_ATTESTATIONS:              {
    description: "If set, Homebrew will use the `gh` tool to verify cryptographic attestations " \
                 "of build provenance for bottles from homebrew-core.",
    boolean:     :set,
    disabled_by: :HOMEBREW_NO_VERIFY_ATTESTATIONS,
  },
  SUDO_ASKPASS:                              {
    description: "If set, pass the `-A` option when calling `sudo`(8).",
  },
  all_proxy:                                 {
    description: "Use this SOCKS5 proxy for `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.",
  },
  ftp_proxy:                                 {
    description: "Use this FTP proxy for `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.",
  },
  http_proxy:                                {
    description: "Use this HTTP proxy for `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.",
  },
  https_proxy:                               {
    description: "Use this HTTPS proxy for `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.",
  },
  no_proxy:                                  {
    description: "A comma-separated list of hostnames and domain names excluded " \
                 "from proxying by `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.",
  },
}.freeze, T::Hash[Symbol, T::Hash[Symbol, T.untyped]])
CUSTOM_IMPLEMENTATIONS =

This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

Defaults and parsing that cannot be expressed by the generated helpers.

T.let(Set.new([
  :HOMEBREW_BUNDLE_JOBS,
  :HOMEBREW_CASK_OPTS,
  :HOMEBREW_DOWNLOAD_CONCURRENCY,
  :HOMEBREW_FORBID_PACKAGES_FROM_PATHS,
  :HOMEBREW_MAKE_JOBS,
]).freeze, T::Set[Symbol])
WARNED_DEPRECATED_ENVS =

This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

This tracks process-local warnings, so it must remain mutable.

T.let(Set.new, T::Set[String])
FALSY_VALUES =

This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.

Boolean env vars have two generated parsing modes. Use boolean: true for Ruby-only toggles that accept explicit false values like 0 or false. Use boolean: :set for toggles used by Bash or with inverse _NO_ variants, where any non-empty value must mean enabled. Use disabled_by: when one boolean env var should override another.

T.let(%w[false no off nil 0].freeze, T::Array[String])

Class Method Summary collapse

Methods included from Utils::Output::Mixin

issue_reporting_message, odebug, odeprecated, odie, odisabled, ofail, oh1, oh1_title, ohai, ohai_title, onoe, opoo, opoo_outside_github_actions, opoo_without_github_actions_annotation, pretty_deprecated, pretty_disabled, pretty_duration, pretty_install_status, pretty_installed, pretty_outdated, pretty_uninstalled, pretty_upgradable

Class Method Details

.all_proxy::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



11
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 11

def all_proxy; end

.allowed_taps::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



14
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 14

def allowed_taps; end

.api_auto_update_secsInteger

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



17
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 17

def api_auto_update_secs; end

.api_domainString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



20
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 20

def api_domain; end

.archString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



23
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 23

def arch; end

.artifact_domain::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



26
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 26

def artifact_domain; end

.artifact_domain_no_fallback?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


29
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 29

def artifact_domain_no_fallback?; end

.ask?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


32
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 32

def ask?; end

.auto_update_secs::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



35
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 35

def auto_update_secs; end

.automatically_set_no_install_from_api?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


918
919
920
# File 'env_config.rb', line 918

def automatically_set_no_install_from_api?
  ENV["HOMEBREW_AUTOMATICALLY_SET_NO_INSTALL_FROM_API"].present?
end

.bat?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


38
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 38

def bat?; end

.bat_config_path::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



41
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 41

def bat_config_path; end

.bat_theme::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



44
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 44

def bat_theme; end

.bottle_domainString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



47
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 47

def bottle_domain; end

.brew_git_remoteString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



50
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 50

def brew_git_remote; end

.browser::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



53
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 53

def browser; end

.bundle_cleanup_no_brew?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


56
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 56

def bundle_cleanup_no_brew?; end

.bundle_cleanup_no_cargo?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


59
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 59

def bundle_cleanup_no_cargo?; end

.bundle_cleanup_no_cask?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


62
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 62

def bundle_cleanup_no_cask?; end

.bundle_cleanup_no_flatpak?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


65
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 65

def bundle_cleanup_no_flatpak?; end

.bundle_cleanup_no_go?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


68
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 68

def bundle_cleanup_no_go?; end

.bundle_cleanup_no_krew?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


71
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 71

def bundle_cleanup_no_krew?; end

.bundle_cleanup_no_mas?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


74
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 74

def bundle_cleanup_no_mas?; end

.bundle_cleanup_no_npm?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


77
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 77

def bundle_cleanup_no_npm?; end

.bundle_cleanup_no_tap?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


80
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 80

def bundle_cleanup_no_tap?; end

.bundle_cleanup_no_uv?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


83
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 83

def bundle_cleanup_no_uv?; end

.bundle_cleanup_no_vscode?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


86
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 86

def bundle_cleanup_no_vscode?; end

.bundle_cleanup_no_winget?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


89
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 89

def bundle_cleanup_no_winget?; end

.bundle_dump_describe?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


92
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 92

def bundle_dump_describe?; end

.bundle_dump_no_brew?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


95
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 95

def bundle_dump_no_brew?; end

.bundle_dump_no_cargo?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


98
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 98

def bundle_dump_no_cargo?; end

.bundle_dump_no_cask?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


101
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 101

def bundle_dump_no_cask?; end

.bundle_dump_no_flatpak?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


104
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 104

def bundle_dump_no_flatpak?; end

.bundle_dump_no_go?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


107
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 107

def bundle_dump_no_go?; end

.bundle_dump_no_krew?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


110
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 110

def bundle_dump_no_krew?; end

.bundle_dump_no_mas?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


113
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 113

def bundle_dump_no_mas?; end

.bundle_dump_no_npm?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


116
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 116

def bundle_dump_no_npm?; end

.bundle_dump_no_tap?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


119
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 119

def bundle_dump_no_tap?; end

.bundle_dump_no_uv?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


122
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 122

def bundle_dump_no_uv?; end

.bundle_dump_no_vscode?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


125
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 125

def bundle_dump_no_vscode?; end

.bundle_dump_no_winget?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


128
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 128

def bundle_dump_no_winget?; end

.bundle_force_install_cleanup?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


131
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 131

def bundle_force_install_cleanup?; end

.bundle_install_cleanup?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


134
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 134

def bundle_install_cleanup?; end

.bundle_jobsString?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



896
897
898
899
900
901
902
903
# File 'env_config.rb', line 896

def bundle_jobs
  if (env_value = ENV.fetch("HOMEBREW_BUNDLE_NO_JOBS", nil)).present? && FALSY_VALUES.exclude?(env_value.downcase)
    return
  end

  ENV["HOMEBREW_BUNDLE_JOBS"].presence ||
    ENVS.fetch(:HOMEBREW_BUNDLE_JOBS).fetch(:default).to_s
end

.bundle_no_describe?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


137
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 137

def bundle_no_describe?; end

.bundle_no_jobs?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


140
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 140

def bundle_no_jobs?; end

.bundle_secrets?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


143
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 143

def bundle_secrets?; end

.bundle_user_cache::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



146
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 146

def bundle_user_cache; end

.cacheString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



149
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 149

def cache; end

.cask_optsArray<String>

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



858
859
860
# File 'env_config.rb', line 858

def cask_opts
  Shellwords.shellsplit(ENV.fetch("HOMEBREW_CASK_OPTS", ""))
end

.cask_opts_binaries::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



152
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 152

def cask_opts_binaries; end

.cask_opts_binaries?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


863
864
865
866
867
868
869
870
871
872
873
874
# File 'env_config.rb', line 863

def cask_opts_binaries?
  cask_opts.reverse_each do |opt|
    return true if opt == "--binaries"
    return false if opt == "--no-binaries"
  end

  method_name = :cask_opts_binaries
  env_value = T.cast(Homebrew::EnvConfig.public_send(method_name), T.nilable(String))
  return FALSY_VALUES.exclude?(env_value.downcase) if env_value.present?

  true
end

.cask_opts_quarantine?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


877
878
879
880
881
882
883
884
# File 'env_config.rb', line 877

def cask_opts_quarantine?
  cask_opts.reverse_each do |opt|
    return true if opt == "--quarantine"
    return false if opt == "--no-quarantine"
  end

  true
end

.cask_opts_require_sha::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



155
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 155

def cask_opts_require_sha; end

.cask_opts_require_sha?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


887
888
889
890
891
892
893
# File 'env_config.rb', line 887

def cask_opts_require_sha?
  return true if cask_opts.include?("--require-sha")

  method_name = :cask_opts_require_sha
  env_value = T.cast(Homebrew::EnvConfig.public_send(method_name), T.nilable(String))
  env_value.present? && FALSY_VALUES.exclude?(env_value.downcase)
end

.cleanup_max_age_daysInteger

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



158
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 158

def cleanup_max_age_days; end

.cleanup_periodic_full_daysInteger

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



161
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 161

def cleanup_periodic_full_days; end

.color?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


164
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 164

def color?; end

.core_git_remoteString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



167
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 167

def core_git_remote; end

.curl_pathString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



170
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 170

def curl_path; end

.curl_retriesInteger

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



173
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 173

def curl_retries; end

.curl_verbose?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


176
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 176

def curl_verbose?; end

.curlrc::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



179
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 179

def curlrc; end

.debug?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


182
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 182

def debug?; end

.devcmdrun?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


923
924
925
# File 'env_config.rb', line 923

def devcmdrun?
  Homebrew::Settings.read("devcmdrun") == "true"
end

.developer?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


185
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 185

def developer?; end

.disable_debrew?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


188
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 188

def disable_debrew?; end

.disable_load_formula?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


191
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 191

def disable_load_formula?; end

.display::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



194
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 194

def display; end

.display_install_times?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


197
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 197

def display_install_times?; end

.docker_registry_basic_auth_token::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



200
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 200

def docker_registry_basic_auth_token; end

.docker_registry_token::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



203
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 203

def docker_registry_token; end

.download_concurrencyInteger

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



928
929
930
931
932
933
934
935
936
937
938
939
# File 'env_config.rb', line 928

def download_concurrency
  concurrency = ENV.fetch("HOMEBREW_DOWNLOAD_CONCURRENCY", "auto")
  concurrency = if concurrency == "auto"
    require "os"
    require "hardware"
    Hardware::CPU.cores * 2
  else
    concurrency.to_i
  end

  [concurrency, 1].max
end

.editor::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



206
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 206

def editor; end

.env_deprecation_applies?(hash) ⇒ Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:

  • (Boolean)


834
835
836
837
838
839
840
841
842
843
844
# File 'env_config.rb', line 834

def env_deprecation_applies?(hash)
  commands = Array(hash[:commands]).map(&:to_s)
  command = ENV.fetch("HOMEBREW_COMMAND", nil)
  return false if commands.present? && command.present? && commands.exclude?(command)

  subcommands = Array(hash[:subcommands]).map(&:to_s)
  subcommand = ENV.fetch("HOMEBREW_SUBCOMMAND", nil)
  return false if subcommands.present? && subcommand.present? && subcommands.exclude?(subcommand)

  true
end

.env_method_name(env, hash) ⇒ String

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:



746
747
748
749
750
751
752
# File 'env_config.rb', line 746

def env_method_name(env, hash)
  method_name = env.to_s
                   .sub(/^HOMEBREW_/, "")
                   .downcase
  method_name = "#{method_name}?" if hash[:boolean]
  method_name
end

.env_sync_strict?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


209
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 209

def env_sync_strict?; end

.env_value(env, hash) ⇒ String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:



809
810
811
812
813
814
815
816
817
818
819
# File 'env_config.rb', line 809

def env_value(env, hash)
  env = env.to_s
  env_value = ENV.fetch(env, nil)
  return if env_value.nil?

  odeprecated_env(env, hash) if env_value.present?
  if (replacement = hash[:replacement]).is_a?(Symbol)
    ENV[replacement.to_s] ||= env_value
  end
  env_value
end

.fail_log_linesInteger

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



212
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 212

def fail_log_lines; end

.forbid_casks?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


215
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 215

def forbid_casks?; end

.forbid_packages_from_paths?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


906
907
908
909
910
911
912
913
914
915
# File 'env_config.rb', line 906

def forbid_packages_from_paths?
  # Undocumented opt-out for internal use.
  return false if ENV["HOMEBREW_INTERNAL_ALLOW_PACKAGES_FROM_PATHS"].present?

  return true if ENV["HOMEBREW_FORBID_PACKAGES_FROM_PATHS"].present?

  # Provide an opt-out for tests and developers.
  # Our testing framework installs formulae from file paths all over the place.
  ENV["HOMEBREW_TESTS"].blank? && ENV["HOMEBREW_DEVELOPER"].blank?
end

.forbidden_cask_artifacts::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



218
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 218

def forbidden_cask_artifacts; end

.forbidden_casks::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



221
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 221

def forbidden_casks; end

.forbidden_formulae::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



224
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 224

def forbidden_formulae; end

.forbidden_licenses::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



227
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 227

def forbidden_licenses; end

.forbidden_ownerString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



230
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 230

def forbidden_owner; end

.forbidden_owner_contact::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



233
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 233

def forbidden_owner_contact; end

.forbidden_taps::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



236
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 236

def forbidden_taps; end

.force_api_auto_update?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


239
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 239

def force_api_auto_update?; end

.force_brew_wrapper::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



242
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 242

def force_brew_wrapper; end

.force_brew_wrapper_help_message::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



245
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 245

def force_brew_wrapper_help_message; end

.force_brewed_ca_certificates?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


248
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 248

def force_brewed_ca_certificates?; end

.force_brewed_curl?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


251
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 251

def force_brewed_curl?; end

.force_brewed_git?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


254
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 254

def force_brewed_git?; end

.force_vendor_ruby?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


257
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 257

def force_vendor_ruby?; end

.formula_build_network::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



260
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 260

def formula_build_network; end

.formula_postinstall_network::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



263
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 263

def formula_postinstall_network; end

.formula_test_network::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



266
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 266

def formula_test_network; end

.ftp_proxy::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



269
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 269

def ftp_proxy; end

.git_committer_email::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



272
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 272

def git_committer_email; end

.git_committer_name::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



275
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 275

def git_committer_name; end

.git_email::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



278
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 278

def git_email; end

.git_name::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



281
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 281

def git_name; end

.git_pathString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



284
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 284

def git_path; end

.github_api_token::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



287
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 287

def github_api_token; end

.github_packages_token::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



290
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 290

def github_packages_token; end

.github_packages_user::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



293
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 293

def github_packages_user; end

.hidden?(hash) ⇒ Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:

  • (Boolean)


755
756
757
# File 'env_config.rb', line 755

def hidden?(hash)
  !!(hash[:hidden] || hash[:odeprecated] || hash[:odisabled])
end

.http_proxy::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



296
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 296

def http_proxy; end

.https_proxy::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



299
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 299

def https_proxy; end

.install_badgeString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



302
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 302

def install_badge; end

.livecheck_autobump?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


305
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 305

def livecheck_autobump?; end

.livecheck_watchlistString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



308
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 308

def livecheck_watchlist; end

.lock_context::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



311
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 311

def lock_context; end

.logsString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



314
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 314

def logs; end

.make_jobsString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



847
848
849
850
851
852
853
854
855
# File 'env_config.rb', line 847

def make_jobs
  jobs = ENV["HOMEBREW_MAKE_JOBS"].to_i
  return jobs.to_s if jobs.positive?

  ENVS.fetch(:HOMEBREW_MAKE_JOBS)
      .fetch(:default)
      .call
      .to_s
end

.no_analytics?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


317
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 317

def no_analytics?; end

.no_ask?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


320
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 320

def no_ask?; end

.no_auto_update?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


323
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 323

def no_auto_update?; end

.no_autoremove?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


326
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 326

def no_autoremove?; end

.no_bootsnap?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


329
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 329

def no_bootsnap?; end

.no_cleanup_formulae::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



332
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 332

def no_cleanup_formulae; end

.no_color?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


335
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 335

def no_color?; end

.no_emoji?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


338
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 338

def no_emoji?; end

.no_env_hints?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


341
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 341

def no_env_hints?; end

.no_force_brew_wrapper?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


344
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 344

def no_force_brew_wrapper?; end

.no_github_api?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


347
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 347

def no_github_api?; end

.no_insecure_redirect?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


350
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 350

def no_insecure_redirect?; end

.no_install_cleanup?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


353
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 353

def no_install_cleanup?; end

.no_install_from_api?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


356
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 356

def no_install_from_api?; end

.no_install_upgrade?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


359
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 359

def no_install_upgrade?; end

.no_installed_dependents_check?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


362
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 362

def no_installed_dependents_check?; end

.no_path_shadow_check?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


365
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 365

def no_path_shadow_check?; end

.no_proxy::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



368
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 368

def no_proxy; end

.no_require_tap_trust?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


371
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 371

def no_require_tap_trust?; end

.no_sandbox_linux?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


374
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 374

def no_sandbox_linux?; end

.no_update_report_new?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


377
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 377

def no_update_report_new?; end

.no_upgrade_auto_updates_casks?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


380
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 380

def no_upgrade_auto_updates_casks?; end

.no_upgrade_quit_casks?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


383
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 383

def no_upgrade_quit_casks?; end

.no_verify_attestations?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


386
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 386

def no_verify_attestations?; end

.odeprecated_env(env, hash) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



822
823
824
825
826
827
828
829
830
831
# File 'env_config.rb', line 822

def odeprecated_env(env, hash)
  return if !hash[:odeprecated] && !hash[:odisabled]
  return unless env_deprecation_applies?(hash)

  replacement = hash[:replacement] if hash.key?(:replacement)
  return if !Homebrew.raise_deprecation_exceptions? && ENV["HOMEBREW_TESTS"].blank? &&
            !WARNED_DEPRECATED_ENVS.add?(env)

  odeprecated env, replacement, disable: hash.fetch(:odisabled, false)
end

.pip_index_url::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



389
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 389

def pip_index_url; end

.pry?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


392
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 392

def pry?; end

.require_tap_trust?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


395
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 395

def require_tap_trust?; end

.sandbox_linux?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


398
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 398

def sandbox_linux?; end

.sbom?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


401
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 401

def sbom?; end

.simulate_macos_on_linux?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


404
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 404

def simulate_macos_on_linux?; end

.skip_or_later_bottles?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


407
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 407

def skip_or_later_bottles?; end

.sorbet_recursive?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


410
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 410

def sorbet_recursive?; end

.sorbet_runtime?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


413
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 413

def sorbet_runtime?; end

.ssh_config_path::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



416
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 416

def ssh_config_path; end

.sudo_askpass::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



419
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 419

def sudo_askpass; end

.sudo_through_sudo_user?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


422
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 422

def sudo_through_sudo_user?; end

.svn::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



425
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 425

def svn; end

.system_env_takes_priority?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


428
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 428

def system_env_takes_priority?; end

.tap_trust_configured?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


942
943
944
# File 'env_config.rb', line 942

def tap_trust_configured?
  Homebrew::EnvConfig.require_tap_trust? || Homebrew::EnvConfig.no_require_tap_trust?
end

.tempString

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



431
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 431

def temp; end

.update_to_tag?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


434
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 434

def update_to_tag?; end

.upgrade_auto_updates_casks?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


437
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 437

def upgrade_auto_updates_casks?; end

.upgrade_greedy?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


440
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 440

def upgrade_greedy?; end

.upgrade_greedy_casks::String?

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



443
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 443

def upgrade_greedy_casks; end

.verbose?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


446
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 446

def verbose?; end

.verbose_using_dots?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


449
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 449

def verbose_using_dots?; end

.verify_attestations?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


452
# File 'sorbet/rbi/dsl/homebrew/env_config.rbi', line 452

def verify_attestations?; end