Stefan Holderbach b48f50f018
Remove unused sample_login.nu file (#14632)
This file is not made accessible to the user through any of our `config`
commands.
Thus I discussed with Douglas to delete it, to ensure it doesn't go out
of date (the version added with #14601 was not yet part of the bumping
script)

All the necessary information on how to setup a `login.nu` file is
provided in the website documentation
2024-12-19 20:21:52 +01:00

73 lines
3.9 KiB
Markdown

# 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.nu` is also loaded. For example:
* During normal startup with `nu`
* During a startup where the user specifies an alternative `env.nu` via `nu --env-config <path>`
* During a `nu -c <commandstring>` or `nu <script>` startup so that `ENV_CONVERSIONS` is properly handled for Windows.
* 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.config` values 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.nu` is also loaded. For example:
* During normal startup with `nu`
* During a startup where the user specifies an alternative `config.nu` via `nu --config <path>`
* Likewise, is never loaded during a startup where the user's `config.nu` would not be loaded. For example:
* `nu -n/--no-config`
* `nu -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_config` values are currently set in this file so that user's can introspect the values
* TODO: Implement defaults for `color_config` in nu-protocol::config and remove from `default_config.nu`
* Can be introspected via `config nu --default | nu-highlight`
* An ideal `default_config.nu` (when all values are set via `nu-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 --doc` with `help env.nu` at 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 --doc` with `help config.nu` at 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-path` directory does not exist, the directory is created and then both `scaffold_env.nu` and `scaffold_config.nu` are written to it
* Contains only commented lines explaining the purpose of the file to the user, along with information on the `config env` command.
## `scaffold_config.nu`
Counterpart to `scaffold_env.nu`.
* This file is used *one-time* (typically) at **first** startup
* If the `$nu.default-config-path` directory does not exist, the directory is created and then both `scaffold_env.nu` and `scaffold_config.nu` are written to it
* Contains only commented lines explaining the purpose of the file to the user, along with information on the `config nu` command.