Skip to content

Commit 2360f5f

Browse files
committed
updated section on system and user scope of configuration which already exists today
1 parent c86f6df commit 2360f5f

File tree

1 file changed

+7
-20
lines changed

1 file changed

+7
-20
lines changed

1-Draft/RFC0000-Experimental-Feature-User-Experience.md

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ Plan to implement: Yes
1111

1212
# Experimental Feature User Experience
1313

14-
[Experimental Feature Flags](https://github.com/PowerShell/PowerShell-RFC/blob/master/5-Final/RFC0029-Support-Experimental-Features.md) enable developers to expose experimental features to users to gather feedback before finalizing design.
14+
[Experimental Feature Flags](https://github.com/PowerShell/PowerShell-RFC/blob/master/5-Final/RFC0029-Support-Experimental-Features.md)
15+
enable developers to expose experimental features to users to gather feedback before finalizing design.
1516
That feature was focused on the developer and did not make it easy for users to discover and enable experimental features.
1617
This RFC addresses the user experience.
1718

@@ -34,20 +35,13 @@ Since there are likely not many experimental features available at any point in
3435
it would make sense to remove the `-ListAvailable` switch and simply display all experimental features.
3536
The current output already has a column indicating if the experimental feature is enabled allowing for easy filtering.
3637

37-
### User scope powershell.config.json
38+
### System and User scope powershell.config.json
3839

39-
Enabling experimental features require creating or updating a `powershell.config.json` file in `$PSHOME` which is read at startup.
40-
In general, we should allow use of PowerShell Core without the need to be root or elevated.
40+
Enabling experimental features automatically requires creating or updating a `powershell.config.json` file in `$PSHOME`
41+
which is read at startup which affects all users or from `$HOME\Documents\PowerShell\powershell.config.json` on Windows
42+
and from `$HOME/.config/powershell/powershell.config.json` on Linux and macOS per user.
4143

42-
The change proposed is to support automatic loading of `powershell.config.json` from `$HOME\Documents\PowerShell\powershell.config.json` on Windows
43-
and from `$HOME/.config/powershell/powershell.config.json` on Linux and macOS.
44-
45-
If an admin has provided a `powershell.config.json` file in `$PSHOME` and the user has one in their scope,
46-
then on `pwsh` startup, it will read the one in `$PSHOME` and clobber the properties that exist from the user configuration.
47-
48-
Since this is configuration and not policy, the user configuration overrides the system configuration default settings.
49-
The user can always prevent inheriting configuration from the system by explicitly starting `pwsh` with the
50-
`-SettingsFile` parameter which will only read configuration from that specified file.
44+
This is existing behavior and will not be changed as part of this RFC.
5145

5246
### Enable and Disable cmdlets
5347

@@ -71,13 +65,6 @@ Experimental features are read and enabled at PowerShell startup, so a warning m
7165
7266
## Alternate Proposals and Considerations
7367

74-
### Configuration file
75-
76-
In the case where there is both a system and current user configuration,
77-
an alternate proposal is to not read the system configuration if the user configuration exists.
78-
However, in the future, there may be useful configuration settings that make sense to have
79-
as default values for a specific environment.
80-
8168
### Enabled property
8269

8370
Currently, an experimental feature has an `Enabled` property that is `true` or `false`.

0 commit comments

Comments
 (0)