This commit is contained in:
Richard Sperry 2025-04-17 18:19:16 -07:00
parent 819344c759
commit a61f812cee
3 changed files with 13 additions and 7 deletions

View file

@ -194,20 +194,20 @@ setup_log_level() {
setup_user_settings() {
# Ensure User settings path
user_path="$DEFAULT_CONFIG_PATH/user"
user_path="$ROOT_CODE_SERVER_USER_PATH"
if [ ! -d "$user_path" ]; then
mkdir -p "$user_path" ||
bashio::exit.nok "Could not create persistent User folder."
fi
# Sets up default user settings on first start.
if ! bashio::fs.file_exists "$CODE_SERVER_VSCODE_DIR"/settings.json; then
cp "$DEFAULT_FILES_PATH/vscode/settings.json" "$CODE_SERVER_VSCODE_DIR/settings.json"
if ! bashio::fs.file_exists "$ROOT_CODE_SERVER_USER_PATH"/settings.json; then
cp "$DEFAULT_FILES_PATH/vscode/settings.json" "$ROOT_CODE_SERVER_USER_PATH/settings.json"
else
# Upgrade if settings.json is still default from previous version.
current=$(sha512sum "$CODE_SERVER_VSCODE_DIR"/settings.json | cut -d " " -f 1)
current=$(sha512sum "$ROOT_CODE_SERVER_USER_PATH"/settings.json | cut -d " " -f 1)
if [[ " ${PREVIOUS_DEFAULT_CONFIG_HASHES[*]} " == *" ${current} "* ]]; then
cp "$DEFAULT_FILES_PATH/vscode/settings.json" "$CODE_SERVER_VSCODE_DIR/settings.json"
cp "$DEFAULT_FILES_PATH/vscode/settings.json" "$ROOT_CODE_SERVER_USER_PATH/settings.json"
fi
fi

View file

@ -5,6 +5,8 @@
readonly DEFAULT_CONFIG_PATH="/data/vscode"
readonly DEFAULT_FILES_PATH="/var/lib/code-server/defaults"
readonly ROOT_CODE_SERVER_CONFIG_PATH="/root/.config/code-server/" # needed for code-server to cleanly
readonly ROOT_CODE_SERVER_USER_PATH="/root/.config/code-server/user" # needed for code-server to cleanly
readonly CODE_SERVER_EXTENSIONS_INSTALL_PATH="$DEFAULT_CONFIG_PATH/extensions"
readonly CODE_SERVER_EXTENSIONS_LIST="$DEFAULT_CONFIG_PATH/vscode.extensions"
readonly CODE_SERVER_WORKSPACE_DIR="/data/workspace"

View file

@ -1,5 +1,4 @@
{
"extends": ".vscode/settings.json",
"folders": [
{
"path": "."
@ -9,7 +8,12 @@
"files.associations": {
"*.yaml": "home-assistant"
},
"window.autoDetectColorScheme": true
"window.autoDetectColorScheme": true,
"terminal.integrated.defaultProfile.linux": "zsh",
"esphome.validator": "local",
"terminal.integrated.copyOnSelection": true,
"workbench.iconTheme": "vs-seti",
"yaml.format.enable": true,
},
"extensions": {
"recommendations": [