-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
322 lines (271 loc) · 14.8 KB
/
.env.example
File metadata and controls
322 lines (271 loc) · 14.8 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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
# ================================================
# PowerShell Profile Environment Variables
# ================================================
#
# Copy this file to .env (or .env.local) and customize for your preferences.
# The .env file is loaded automatically when the profile initializes.
#
# .env.local will override .env values and is recommended for local-only settings.
# Both files are gitignored to keep your personal preferences private.
#
# Package Manager Preferences
# ---------------------------
# Set your preferred package managers for Python and Node.js.
# These preferences affect:
# - Install hints shown when tools are missing
# - Package manager selection in helper functions
# - Tool installation recommendations
# Python package manager preference
# Options: 'auto' (detect automatically), 'uv', 'pip', 'conda', 'poetry', 'pipenv', 'pdm', 'hatch', 'rye'
# When set, install hints for Python tools will use your preferred manager
# PS_PYTHON_PACKAGE_MANAGER=auto
# Node.js package manager preference
# Options: 'auto' (detect automatically), 'pnpm', 'npm', 'yarn', 'bun'
# When set, install hints for Node.js tools will use your preferred manager
# PS_NODE_PACKAGE_MANAGER=auto
# Python runtime preference
# Options: 'auto' (detect automatically), 'python', 'python3', 'py'
# When set, Python detection and install hints will prefer the specified runtime
# PS_PYTHON_RUNTIME=auto
# Rust package manager preference
# Options: 'auto' (detect automatically), 'cargo', 'cargo-binstall'
# When set, install hints for Rust tools will use your preferred manager
# cargo-binstall is faster (downloads binaries) while cargo compiles from source
# PS_RUST_PACKAGE_MANAGER=auto
# Go package manager preference
# Options: 'auto' (detect automatically), 'go-install', 'go-get'
# When set, install hints for Go tools will use your preferred method
# go-install is the modern approach (recommended), go-get is legacy
# PS_GO_PACKAGE_MANAGER=auto
# Java build tool preference
# Options: 'auto' (detect automatically), 'maven', 'gradle', 'sbt'
# When set, install hints for Java tools will use your preferred build tool
# PS_JAVA_BUILD_TOOL=auto
# Ruby package manager preference
# Options: 'auto' (detect automatically), 'gem', 'bundler'
# When set, install hints for Ruby tools will use your preferred manager
# bundler is recommended for project dependencies, gem for global tools
# PS_RUBY_PACKAGE_MANAGER=auto
# PHP package manager preference
# Options: 'auto' (detect automatically), 'composer', 'pecl', 'pear'
# When set, install hints for PHP tools will use your preferred manager
# composer is the modern standard, pecl for extensions, pear is legacy
# PS_PHP_PACKAGE_MANAGER=auto
# .NET package manager preference
# Options: 'auto' (detect automatically), 'dotnet', 'nuget'
# When set, install hints for .NET tools will use your preferred manager
# dotnet CLI is the modern approach, nuget is the legacy tool
# PS_DOTNET_PACKAGE_MANAGER=auto
# Dart package manager preference
# Options: 'auto' (detect automatically), 'flutter', 'pub'
# When set, install hints for Dart tools will use your preferred manager
# flutter for Flutter projects, pub for pure Dart projects
# PS_DART_PACKAGE_MANAGER=auto
# Elixir package manager preference
# Options: 'auto' (detect automatically), 'mix', 'hex'
# When set, install hints for Elixir tools will use your preferred manager
# mix is the standard build tool, hex is the package registry
# PS_ELIXIR_PACKAGE_MANAGER=auto
# System Package Manager Preference
# --------------------------------
# Preferred system package manager for installing tools (when language-specific preferences don't apply)
# Windows: 'auto' (detect automatically), 'scoop', 'winget', 'chocolatey'
# Linux: 'auto' (detect automatically), 'apt', 'yum', 'dnf', 'pacman', 'scoop'
# macOS: 'auto' (detect automatically), 'homebrew', 'scoop'
# When set, generic tool install hints will use your preferred system package manager
# PS_SYSTEM_PACKAGE_MANAGER=auto
# Scoop Tab Completion
# --------------------
# Enable automatic import of Scoop native tab completion module
# Provides automatic command and parameter completion for Scoop commands
# Enabled by default to resolve "scoop checkup" warnings
# Values: '0' or 'false' = disabled, '1' or 'true' = enabled (default)
# PS_SCOOP_ENABLE_COMPLETION=1
# Data Frame Library Preference
# ------------------------------
# When both pandas and polars are available, which should be preferred?
# Options: 'auto' (use pandas if both available), 'pandas', 'polars'
# PS_DATA_FRAME_LIB=auto
# Parquet Library Preference
# ---------------------------
# When both pyarrow and fastparquet are available, which should be preferred?
# Options: 'auto' (use pyarrow if both available), 'pyarrow', 'fastparquet'
# PS_PARQUET_LIB=auto
# Scientific Library Preference
# ------------------------------
# When multiple scientific libraries are available, which should be preferred?
# Options: 'auto' (use netCDF4/h5py if available), 'netcdf4', 'h5py', 'xarray'
# PS_SCIENTIFIC_LIB=auto
# Profile Configuration
# ---------------------
# Environment-specific fragment loading (requires configuration in .profile-fragments.json)
# Define environments in .profile-fragments.json under the "environments" key.
# Available environments: 'minimal', 'testing', 'ci', 'server', 'cloud', 'containers', 'web', 'full', 'development'
# If not set or environment doesn't exist, all fragments are loaded (unless disabled in .profile-fragments.json).
# Fragments use descriptive names (e.g., 'bootstrap', 'env', 'git', 'dev') instead of numbered prefixes.
# Example .profile-fragments.json:
# {
# "environments": {
# "minimal": ["bootstrap", "env"],
# "development": ["bootstrap", "env", "files", "utilities", "git", "dev"],
# "ci": ["bootstrap", "env", "files", "utilities", "system", "git", "error-handling"]
# }
# }
# PS_PROFILE_ENVIRONMENT=minimal
# Enable batch loading optimization for faster startup
# Groups fragments by dependency tiers for more efficient sequential loading
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_BATCH_LOAD=0
# Enable parallel dependency parsing (automatically enabled for 5+ fragments)
# Speeds up dependency parsing by processing multiple fragments simultaneously
# Values: '1' or 'true' = enabled (default), '0' or 'false' = disabled
# PS_PROFILE_PARALLEL_DEPENDENCIES=1
# EXPERIMENTAL: Enable parallel fragment loading (hybrid approach)
# Attempts to load independent fragments in parallel, falls back to sequential on failure
# WARNING: Experimental feature - may have issues with fragments that modify session state
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled (default)
# PS_PROFILE_PARALLEL_LOADING=0
# Load all fragments (override disabled fragments and environment restrictions)
# When enabled, loads all fragments regardless of .profile-fragments.json disabled list
# or PS_PROFILE_ENVIRONMENT restrictions. Useful for testing or full profile loading.
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled (default)
# PS_PROFILE_LOAD_ALL=0
# Fragment Loading Optimization
# -----------------------------
# Enable/disable AST-based command pre-registration (default: enabled)
# Pre-registration parses fragments to discover commands before loading them, enabling lazy loading
# Values: '1' or 'true' = enabled (default), '0' or 'false' = disabled
# PS_PROFILE_PRE_REGISTER_COMMANDS=1
# Enable/disable lazy fragment loading (default: enabled)
# When enabled, only bootstrap fragments load initially; other fragments load on-demand when commands are called
# This significantly speeds up profile startup time
# Values: '1' or 'true' = enabled (default), '0' or 'false' = disabled
# PS_PROFILE_LAZY_LOAD_FRAGMENTS=1
# Inverse control for lazy loading (alternative to PS_PROFILE_LAZY_LOAD_FRAGMENTS)
# Set to '1' or 'true' to load all fragments (disable lazy loading)
# Set to '0' or 'false' to enable lazy loading (skip fragment loading)
# Note: PS_PROFILE_LAZY_LOAD_FRAGMENTS takes precedence if both are set
# Values: '1' or 'true' = load all fragments, '0' or 'false' = lazy load (default)
# PS_PROFILE_LOAD_ALL_FRAGMENTS=0
# Create proxy functions for autocomplete (default: enabled)
# Proxy functions enable tab completion for lazy-loaded commands
# When disabled, tab completion may not work for commands until their fragments are loaded
# Values: '1' or 'true' = enabled (default), '0' or 'false' = disabled
# PS_PROFILE_CREATE_PROXIES=1
# Persistent Cache Configuration
# -----------------------------
# Custom directory for SQLite cache database (optional)
# Recommended: Use a project-local cache directory (e.g., .cache/ or cache/) for version control and team sharing
# If not set, uses default location: %LOCALAPPDATA%\PowerShellProfile (Windows) or ~/.cache/powershell-profile (Unix)
# Cache persists between PowerShell sessions, dramatically improving subsequent profile loads
# Requires sqlite3 command-line tool to be installed (falls back to in-memory cache if not available)
# Example (project-local, recommended): PS_PROFILE_CACHE_DIR=.cache
# Example (user-specific): PS_PROFILE_CACHE_DIR=C:\Users\YourName\AppData\Local\MyCache
# PS_PROFILE_CACHE_DIR=.cache
# Fragment cache pre-warming mode
# Values: '1' or 'true' = pre-warm (load all cache entries at startup), '0' or 'false' = on-demand (default)
# Pre-warming: Faster fragment parsing, slower startup (loads all cache entries from database at startup)
# On-demand: Faster startup, slower parsing (loads cache entries when fragments are parsed)
# Use pre-warming if: You have 100+ fragments, do batch operations, or prefer faster parsing over startup time
# Use on-demand if: You want faster startup, only parse a few fragments, or prefer lazy loading
# PS_PROFILE_PREWARM_CACHE=0
# Auto-enable aliases on profile load
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_AUTOENABLE_ALIASES=0
# Show git branch in prompt (for SmartPrompt.ps1)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_SHOW_GIT_BRANCH=0
# Show uv project status in prompt (for SmartPrompt.ps1)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_SHOW_UV=0
# Show npm project status in prompt (for SmartPrompt.ps1)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_SHOW_NPM=0
# Show Rust project status in prompt (for SmartPrompt.ps1)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_SHOW_RUST=0
# Show Go project status in prompt (for SmartPrompt.ps1)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_SHOW_GO=0
# Show Docker project status in prompt (for SmartPrompt.ps1)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_SHOW_DOCKER=0
# Show Poetry project status in prompt (for SmartPrompt.ps1)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_SHOW_POETRY=0
# Show pnpm/yarn project status in prompt (for SmartPrompt.ps1)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_SHOW_PNPM=0
# Skip automatic profile update checks
# Values: '1' or 'true' = enabled (skip updates), '0' or 'false' = disabled (check updates)
# PS_PROFILE_SKIP_UPDATES=0
# Development mode (enables optimizations for faster profile loading during development)
# Skips expensive operations like update checks, git status, and prompt initialization delays
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled (default)
# PS_PROFILE_DEV_MODE=0
# Fast reload mode (automatically enables fast reload in Reload-Profile)
# When enabled, Reload-Profile automatically uses fast reload mode, skipping expensive operations
# Also automatically enabled if PS_PROFILE_DEV_MODE is set
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled (default)
# PS_PROFILE_FAST_RELOAD=0
# Enable local-overrides.ps1 loading
# WARNING: Disabled by default due to performance issues (100+ second delays on some filesystems)
# Only enable if you actually have a local-overrides.ps1 file to load
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled (default)
# PS_PROFILE_ENABLE_LOCAL_OVERRIDES=0
# Container Engine Preference
# ---------------------------
# Preferred container engine when both Docker and Podman are available
# Options: 'auto' (detect automatically), 'docker', 'podman'
# CONTAINER_ENGINE_PREFERENCE=auto
# Editor Preferences
# ------------------
# Default editor for various operations (set in 01-env.ps1 if not already configured)
# EDITOR=code
# GIT_EDITOR=code --wait
# VISUAL=code
# Warning Suppression
# -------------------
# Suppress fragment loading warnings (comma/semicolon/space-separated fragment names, or 'all'/'*'/'1'/'true' for all)
# Example: PS_PROFILE_SUPPRESS_FRAGMENT_WARNINGS=env,files
# PS_PROFILE_SUPPRESS_FRAGMENT_WARNINGS=
# Suppress missing tool warnings
# Values: '1' or 'true' = enabled (suppress warnings), '0' or 'false' = disabled (show warnings)
# PS_PROFILE_SUPPRESS_TOOL_WARNINGS=0
# Assume Commands Available
# ------------------------
# Assume these commands are available even if not found on PATH (comma/semicolon/space-separated)
# Useful for commands installed in non-standard locations or when PATH detection fails
# Example: PS_PROFILE_ASSUME_COMMANDS=docker,kubectl,terraform
# PS_PROFILE_ASSUME_COMMANDS=
# Debug Settings
# --------------
# Enable debug output for profile loading
# Supports multiple levels for granular control:
# '0' or 'false' or empty = disabled (no debug output)
# '1' or 'true' = basic debug (shows fragment loading, warnings, errors)
# '2' = verbose debug (includes timing information for fragment loading)
# '3' = performance profiling (detailed metrics, timing breakdowns, performance analysis)
# Any non-empty value other than '0'/'false' defaults to level 1
# Example: PS_PROFILE_DEBUG=2 (enables verbose debug with timing)
# PS_PROFILE_DEBUG=0
# Note: Timing output and fragment message display are now controlled by PS_PROFILE_DEBUG levels:
# Level 1: Basic debug with batched fragment messages
# Level 2: Verbose debug with timing and individual fragment messages
# Level 3: Performance profiling with detailed metrics
# Enable Test-Path interception debugging
# Intercepts Test-Path calls to log null/empty paths when debug mode is enabled
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_DEBUG_TESTPATH=0
# Enable Test-Path trace debugging (detailed logging)
# Provides detailed trace logging for Test-Path interception debugging
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_DEBUG_TESTPATH_TRACE=0
# Test Mode (for testing/CI - not recommended for normal use)
# -----------------------------------------------------------
# Enable test mode (disables certain interactive features)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_TEST_MODE=0
# Auto-enable PSReadLine (mainly for benchmarking)
# Values: '1' or 'true' = enabled, '0' or 'false' = disabled
# PS_PROFILE_AUTOENABLE_PSREADLINE=0