- Зачем: - требуется передавать переменные из ~/.env.secrets в окружение VS Code Server в WSL. - Что: - добавлен stow-пакет vscode с файлом ~/.vscode-server/server-env-setup. - реализована загрузка ~/.env.secrets через source в режиме fail-open с warning в stderr. - обновлен README: раздел VS Code (WSL), установка через stow/вручную, reconnect и обработка конфликтов. - Проверка: - bash -n vscode/.vscode-server/server-env-setup. - stow -nvt ~ vscode. - запуск скрипта с валидным, отсутствующим и битым ~/.env.secrets в изолированном HOME.
23 lines
552 B
Bash
Executable File
23 lines
552 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# VS Code WSL server startup hook.
|
|
# Loads private environment variables from ~/.env.secrets if available.
|
|
|
|
secrets_file="$HOME/.env.secrets"
|
|
|
|
warn() {
|
|
printf 'server-env-setup: %s\n' "$1" >&2
|
|
}
|
|
|
|
if [ ! -f "$secrets_file" ]; then
|
|
warn "warning: $secrets_file not found; starting without extra secrets."
|
|
return 0 2>/dev/null || exit 0
|
|
fi
|
|
|
|
# shellcheck disable=SC1090
|
|
if ! source "$secrets_file"; then
|
|
warn "warning: failed to source $secrets_file; starting without extra secrets."
|
|
fi
|
|
|
|
return 0 2>/dev/null || exit 0
|