Nushell configuration files
default_env.nu:
- The internal default environment variables (other than
$env.config) that will be set during Nushell startup. - Is loaded before the user's
env.nu. - Will be loaded during any startup where the user's
env.nuis also loaded. For example:- During normal startup with
nu - During a startup where the user specifies an alternative
env.nuvianu --env-config <path> - During a
nu -c <commandstring>ornu <script>startup so thatENV_CONVERSIONSis properly handled for Windows.
- During normal startup with
- Is not loaded when running with an explicit
no --no-config-file (-n). - Is not commented - Comments are in
doc_env.nu. - Should be optimized for fastest load times.
- Can be introspected via
config env --default | nu-highlight
default_config.nu:
Counterpart to default_env.nu.
- Contains any
$env.configvalues that are not set via Rust defaults. - Is loaded after the user's
env.nu. - Is loaded before the user's
config.nu. - Will be loaded during any startup where the user's
config.nuis also loaded. For example:- During normal startup with
nu - During a startup where the user specifies an alternative
config.nuvianu --config <path>
- During normal startup with
- Likewise, is never loaded during a startup where the user's
config.nuwould not be loaded. For example:nu -n/--no-confignu -c "ls"nu <script.nu>
- Is not commented - Comments are in
doc_config.nu. - Should be optimized for fastest load times. Whenever possible, values should be set via nu-protocol::config
- Exception:
color_configvalues are currently set in this file so that user's can introspect the values - TODO: Implement defaults for
color_configin nu-protocol::config and remove fromdefault_config.nu
- Exception:
- Can be introspected via
config nu --default | nu-highlight - An ideal
default_config.nu(when all values are set vianu-protocol::config) will simply be:$env.config = {}
doc_env.nu
- A commented file documenting the most common environment variables that a user might configure in
env.nu - For convenient in-shell access - Can be pretty-printed via
config env --doc | nu-highlight - Since this file is for documentation only, include actual Nushell code without comments so that it can be pretty-printed
- No optimization necessary - Not intended for use other than documentation.
- Consider replacing
config env --docwithhelp env.nuat some point. - Uses a mix of default values (explained) as well as other examples that users might want in their own
env.nu
doc_config.nu
Counterpart to doc_env.nu.
- A commented file documenting the most common environment variables that a user might configure in
config.nu - For convenient in-shell access - Can be pretty-printed via
config nu --doc | nu-highlight - Since this file is for documentation only, include actual Nushell code without comments so that it can be pretty-printed
- No optimization necessary - Not intended for use other than documentation.
- Consider replacing
config nu --docwithhelp config.nuat some point. - Uses a mix of default values (explained) as well as other examples that users might want in their own
config.nu
scaffold_env.nu
- This file is used one-time (typically) at first startup
- If the
$nu.default-config-pathdirectory does not exist, the directory is created and then bothscaffold_env.nuandscaffold_config.nuare written to it - Contains only commented lines explaining the purpose of the file to the user, along with information on the
config envcommand.
scaffold_config.nu
Counterpart to scaffold_env.nu.
- This file is used one-time (typically) at first startup
- If the
$nu.default-config-pathdirectory does not exist, the directory is created and then bothscaffold_env.nuandscaffold_config.nuare written to it - Contains only commented lines explaining the purpose of the file to the user, along with information on the
config nucommand.