Configuration Profiles Last updated May 2, 2022

A Configuration Profile (or "group") is a collection of build options and configuration rules. You can define such profiles by tagging command-line options in your .bazelrc or user.bazelrc file and activate them using the --config option.

Build options control Bazel itself; configuration rules are defined by the user and control the (Starlark) build program that executes within the Bazel environment.

For example:

## build options
build:show --subcommands
build:show --verbose_failures
build:showpp --subcommands=pretty_print
build:showpp --verbose_failures

This defines configuration profiles that can be activated by passing --config=show or --config=showpp.

You can make these available to all Bazel projects by putting the directives in $HOME/.bazelrc.

Documentation on build options and --config are buried at the bottom of .bazelrc syntax and semantics.