-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdevcontainer-feature.json
More file actions
160 lines (157 loc) · 7.35 KB
/
Copy pathdevcontainer-feature.json
File metadata and controls
160 lines (157 loc) · 7.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
{
"name": "PowerShell Extended [PSResourceGet / NuGet Versioning; Oh My Posh prompt profile]",
"id": "powershell-extended",
"legacyIds": [
"powershell"
],
"version": "2.1.3",
"description": "Installs PowerShell on AMD64 and ARM64 architectures, with optional resources from the PowerShell Gallery via PSResourceGet. Includes a custom Oh My Posh terminal prompt theme and customizable profile files. Supports advanced installation options for PowerShell modules and scripts.",
"documentationURL": "https://github.com/jpawlowski/devcontainer-features/tree/main/src/powershell-extended",
"licenseURL": "https://github.com/jpawlowski/devcontainer-features/tree/main/LICENSE.txt",
"keywords": [
"powershell",
"profile",
"prompt",
"oh-my-posh",
"nerdfonts",
"psresourceget",
"dotfiles"
],
"options": {
"version": {
"type": "string",
"proposals": [
"latest",
"7.4",
"7.3"
],
"default": "latest",
"description": "Select or enter a version of PowerShell. Defaults to `latest`."
},
"installMethod": {
"type": "string",
"enum": [
"package",
"github"
],
"default": "package",
"description": "Select the installation method for PowerShell. If you choose `package`, PowerShell will be installed using the package manager with a fallback to 'github'. If you choose `github`, PowerShell will be installed from GitHub releases."
},
"updatePSResourceGet": {
"type": "string",
"enum": [
"none",
"release",
"prerelease"
],
"default": "release",
"description": "Update built-in [`Microsoft.PowerShell.PSResourceGet`](https://github.com/PowerShell/PSResourceGet) module to the latest version before installing additional resources. Defaults to `release`."
},
"updatePSReadLine": {
"type": "string",
"enum": [
"none",
"release",
"prerelease"
],
"default": "release",
"description": "Update built-in [`PSReadLine`](https://github.com/PowerShell/PSReadline) module to the latest version. Defaults to `release`."
},
"updateModulesHelp": {
"type": "boolean",
"default": true,
"description": "Update help files for installed modules? Defaults to `true`."
},
"setUserDefaultShell": {
"type": "boolean",
"default": false,
"description": "Change default shell for non-root user to PowerShell? Note that this might impact [`userEnvProbe`](https://containers.dev/implementors/json_reference/#general-properties) performance. Consider setting [`terminal.integrated.defaultProfile.*`](https://code.visualstudio.com/docs/terminal/profiles) instead. Defaults to `false`."
},
"setRootDefaultShell": {
"type": "boolean",
"default": false,
"description": "Change default shell for root to PowerShell? Note that this might impact [`userEnvProbe`](https://containers.dev/implementors/json_reference/#general-properties) performance. Consider setting [`terminal.integrated.defaultProfile.*`](https://code.visualstudio.com/docs/terminal/profiles) instead. Defaults to `false`."
},
"repositories": {
"type": "string",
"default": "",
"description": "Optional semicolon separated list of PowerShell repositories to register. To set a specific name for a repository, use the format `name=url`, otherwise the name will be the base URL. See feature documentation for more information about advanced installation options."
},
"resources": {
"type": "string",
"default": "",
"description": "Optional semicolon separated list of PowerShell resources to install. If you need to install a specific version, use `@` to specify the version (e.g. `Az.Accounts@3.1.0`). See feature documentation for more information about advanced installation options."
},
"installOhMyPosh": {
"type": "boolean",
"default": true,
"description": "Install Oh My Posh? Defaults to `true`."
},
"installOhMyPoshConfig": {
"type": "boolean",
"default": true,
"description": "Allow installing the default dev container profile templates? Defaults to `true`. May be tweaked by setting `containerEnv.PSPROFILE_*` variables."
},
"profileURLAllUsersAllHosts": {
"type": "string",
"default": "",
"description": "Optional (publicly accessible) URL to download global [PowerShell profile](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles) (AllUsersAllHosts). Defaults to `\"\"`. Note that this will take precedence over `installOhMyPoshConfig` for the global profile."
},
"psConfigURLAllUsersAllHosts": {
"type": "string",
"default": "",
"description": "Optional (publicly accessible) URL to download global [PowerShell config](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_powershell_config) (AllUsersAllHosts) in JSON format. Defaults to `\"\"`."
},
"psConfigExperimentalFeatures": {
"type": "string",
"default": "",
"description": "Optional semicolon separated list of [experimental PowerShell features](https://learn.microsoft.com/en-us/powershell/scripting/learn/experimental-features) to enable in the global PowerShell config. Defaults to `\"\"`."
}
},
"containerEnv": {
"POWERSHELL_DISTRIBUTION_CHANNEL": "DevContainer-Feature:PowerShell-Extended",
"PSPROFILE_PSREADLINE_EDITMODE": "Emacs",
"PSPROFILE_ALIAS_DIR_FORCE": "false",
"PSPROFILE_ALIAS_DIR_HIDDEN": "true",
"PSPROFILE_ALIAS_DIR_SORT": "true",
"PSPROFILE_AUTOUPDATE_MODULEHELP": "true",
"PSPROFILE_PSREADLINE_PREDICTION_SOURCE": "HistoryAndPlugin",
"PSPROFILE_PSREADLINE_PREDICTION_VIEWSTYLE": "InlineView",
"PSPROFILE_POSH_THEME": "devcontainers.minimal.omp.json",
"PSPROFILE_TERMINAL_COMPLETION_POSHGIT": "true",
"PSPROFILE_TERMINAL_COMPLETION_AZURECLI": "true",
"PSPROFILE_TERMINAL_COMPLETION_GITHUBCLI": "true",
"PSPROFILE_TERMINAL_COMPLETION_POSH": "false",
"PSPROFILE_TERMINAL_COMPLETION_PREDICTOR": "true",
"PSPROFILE_TERMINAL_COMPLETION_PREDICTOR_AZ": "false",
"PSPROFILE_TERMINAL_COMPLETION_PSFZF": "false",
"PSPROFILE_TERMINAL_COMPLETION_UNIX": "true",
"PSPROFILE_TERMINAL_ICONS": "true",
"PSPROFILE_TERMINAL_Z": "true",
"PSPROFILE_VSCODE_AUTOUPDATE_MODULEHELP": "false",
"PSPROFILE_VSCODE_PSREADLINE_PREDICTION_SOURCE": "HistoryAndPlugin",
"PSPROFILE_VSCODE_PSREADLINE_PREDICTION_VIEWSTYLE": "InlineView",
"PSPROFILE_VSCODE_POSH_THEME": "devcontainers.minimal.omp.json",
"PSPROFILE_VSCODE_TERMINAL_COMPLETION_POSHGIT": "true",
"PSPROFILE_VSCODE_TERMINAL_COMPLETION_AZURECLI": "true",
"PSPROFILE_VSCODE_TERMINAL_COMPLETION_GITHUBCLI": "true",
"PSPROFILE_VSCODE_TERMINAL_COMPLETION_POSH": "false",
"PSPROFILE_VSCODE_TERMINAL_COMPLETION_PREDICTOR": "true",
"PSPROFILE_VSCODE_TERMINAL_COMPLETION_PREDICTOR_AZ": "false",
"PSPROFILE_VSCODE_TERMINAL_COMPLETION_PSFZF": "false",
"PSPROFILE_VSCODE_TERMINAL_COMPLETION_UNIX": "true",
"PSPROFILE_VSCODE_TERMINAL_ICONS": "true",
"PSPROFILE_VSCODE_TERMINAL_Z": "true"
},
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.powershell"
]
}
},
"installsAfter": [
"ghcr.io/devcontainers/features/common-utils",
"ghcr.io/devcontainers/features/powershell"
]
}