From f4b56620e56d5f527d3ff85d799f8c55583ee4c2 Mon Sep 17 00:00:00 2001 From: Greg Becker Date: Sun, 21 Mar 2021 05:14:13 -0500 Subject: Document cli syntax for environment scopes (#20344) Co-authored-by: Adam J. Stewart --- lib/spack/docs/configuration.rst | 16 ++++++++++++---- lib/spack/docs/environments.rst | 6 ++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/spack/docs/configuration.rst b/lib/spack/docs/configuration.rst index 0671beb080..10b442ab74 100644 --- a/lib/spack/docs/configuration.rst +++ b/lib/spack/docs/configuration.rst @@ -78,6 +78,13 @@ are six configuration scopes. From lowest to highest: If multiple scopes are listed on the command line, they are ordered from lowest to highest precedence. +#. **environment**: When using Spack :ref:`environments`, Spack reads + additional configuration from the environment file. See + :ref:`environment-configuration` for further details on these + scopes. Environment scopes can be referenced from the command line + as ``env:name`` (to reference environment ``foo``, use + ``env:foo``). + #. **command line**: Build settings specified on the command line take precedence over all other scopes. @@ -192,10 +199,11 @@ with MPICH. You can create different configuration scopes for use with Platform-specific Scopes ------------------------ -For each scope above, there can also be platform-specific settings. -For example, on most platforms, GCC is the preferred compiler. -However, on macOS (darwin), Clang often works for more packages, -and is set as the default compiler. This configuration is set in +For each scope above (excluding environment scopes), there can also be +platform-specific settings. For example, on most platforms, GCC is +the preferred compiler. However, on macOS (darwin), Clang often works +for more packages, and is set as the default compiler. This +configuration is set in ``$(prefix)/etc/spack/defaults/darwin/packages.yaml``. It will take precedence over settings in the ``defaults`` scope, but can still be overridden by settings in ``system``, ``system/darwin``, ``site``, diff --git a/lib/spack/docs/environments.rst b/lib/spack/docs/environments.rst index 064cfad336..1a52ac8328 100644 --- a/lib/spack/docs/environments.rst +++ b/lib/spack/docs/environments.rst @@ -399,6 +399,12 @@ There are two ways to include configuration information in a Spack Environment: #. Included in the ``spack.yaml`` file from another file. +Many Spack commands also affect configuration information in files +automatically. Those commands take a ``--scope`` argument, and the +environment can be specified by ``env:NAME`` (to affect environment +``foo``, set ``--scope env:foo``). These commands will automatically +manipulate configuration inline in the ``spack.yaml`` file. + """"""""""""""""""""" Inline configurations """"""""""""""""""""" -- cgit v1.2.3-70-g09d2