From dcac313bb281a5e340a24359074a6c79938af62c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=BCndel?= Date: Fri, 17 Oct 2025 10:42:59 +0200 Subject: [PATCH] disable update checks in VS Code on install (#1730) * Add ssh-agent configuration and enable service on user install * add migration * install SSH Agent via service menu * Delete install/config/all.sh * Delete migrations/1757524404.sh * Delete install/config/ssh-agent.sh * Update envs.conf * Revert "Delete install/config/all.sh" This reverts commit 579fb835ad834d4b2a40a034beae6d8c35a87166. * revert all.sh changes * disable update checks in VS Code on install * Delete bin/omarchy-install-ssh-agent * Update omarchy-menu revert changes from wrong branch * add migration script * Merge back * Fixup --------- Co-authored-by: David Heinemeier Hansson --- bin/omarchy-install-vscode | 3 +++ migrations/1758142943.sh | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 migrations/1758142943.sh diff --git a/bin/omarchy-install-vscode b/bin/omarchy-install-vscode index 4a081c15..644a8eb7 100755 --- a/bin/omarchy-install-vscode +++ b/bin/omarchy-install-vscode @@ -18,4 +18,7 @@ cat > ~/.vscode/argv.json << 'EOF' } EOF +# Ensure VSC's own auto-update feature is turned off +printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json + setsid gtk-launch code diff --git a/migrations/1758142943.sh b/migrations/1758142943.sh new file mode 100644 index 00000000..ef800abc --- /dev/null +++ b/migrations/1758142943.sh @@ -0,0 +1,21 @@ +echo "Turn off VSCode's own auto-update feature (we rely on pacman)" + +# Note: We cannot use `jq` to update settings.json because it’s JSONC (allows comments), +# which jq doesn’t support. + +VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json" + +# If VSCode is installed, ensure that the "update.mode" setting is set to "none" +if omarchy-cmd-present code; then + mkdir -p "$(dirname "$VS_CODE_SETTINGS")" + + if [[ ! -f "$VS_CODE_SETTINGS" ]]; then + # If settings.json doesn't exist, create it with just the update.mode setting + printf '{\n "update.mode": "none"\n}\n' > "$VS_CODE_SETTINGS" + elif ! grep -q '"update.mode"' "$VS_CODE_SETTINGS"; then + # Insert "update.mode": "none", immediately after the first "{" + # Use sed's first-match range (0,/{/) to only replace the first "{ + sed -i --follow-symlinks -E '0,/\{/{s/\{/{\ + "update.mode": "none",/}' "$VS_CODE_SETTINGS" + fi +fi