This page documents west’s configuration file system, the
command, and configuration options used by built-in commands. For API
documentation on the
west.configuration module, see
West Configuration Files¶
West’s configuration file syntax is INI-like; here is an example file:
[manifest] path = zephyr [zephyr] base = zephyr
manifest section has option
path set to
way to say the same thing is that
zephyr in this file.
There are three types of configuration file:
System: Settings in this file affect west’s behavior for every user logged in to the computer. Its location depends on the platform:
Global (per user): Settings in this file affect how west behaves when run by a particular user on the computer.
All platforms: the default is
.westconfigin the user’s home directory.
Linux note: if the environment variable
XDG_CONFIG_HOMEis set, then
Windows note: the following environment variables are tested to find the home directory:
%USERPROFILE%, then a combination of
Local: Settings in this file affect west’s behavior for the current west workspace. The file is
.west/config, relative to the workspace’s root directory.
A setting in a file which appears lower down on this list overrides an earlier
setting. For example, if
true in the system’s configuration
false in the workspace’s, then the final value is
false. Similarly, settings in the user configuration file override system
settings, and so on.
config command can be used to get and set configuration
values. You can pass
west config the options
--local to specify which configuration file to use. Only one of these can
be used at a time. If none is given, then writes default to
reads show the final value after applying overrides.
Some examples for common uses follow; run
west config -h for detailed help,
and see Built-in Configuration Options for more details on built-in options.
west config manifest.path some-other-manifest
Doing the above means that commands like
west update will look for the
west manifest inside the
(relative to the workspace root directory) instead of the directory given to
west init, so be careful!
zephyr.base, the value which will be used as
ZEPHYR_BASE if it
is unset in the calling environment (also relative to the workspace root):
west config zephyr.base
You can switch to another zephyr repository without changing
– and thus the behavior of commands like
west update – using:
west config zephyr.base some-other-zephyr
This can be useful if you use commands like
git worktree to create your own
zephyr directories, and want commands like
west build to use them instead
of the zephyr repository specified in the manifest. (You can go back to using
the directory in the upstream manifest by running
west config zephyr.base
false in the global (user-wide) configuration file,
so that west will no longer print colored output for that user when run in any
west config --global color.ui false
To undo the above change:
west config --global color.ui true
Built-in Configuration Options¶
The following table documents configuration options supported by west’s built-in commands. Configuration options supported by Zephyr’s extension commands are documented in the pages for those commands.
String, default empty. A comma-separated list of project groups to
enable and disable within the workspace. Prefix enabled groups with
String, relative path from the west workspace root directory
to the manifest repository used by
String, one of
String, default value to set for the
String, one the values