From d8df2278e7479a4955bbc077e0a0b79c4151dd3c Mon Sep 17 00:00:00 2001 From: Ryan Cao <70191398+ryanccn@users.noreply.github.com> Date: Mon, 4 Sep 2023 23:06:04 +0800 Subject: [PATCH] fix(vscode): use full path to CLI and support dry runs --- programs/vscode.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/programs/vscode.nix b/programs/vscode.nix index ce42b84..4512ddb 100644 --- a/programs/vscode.nix +++ b/programs/vscode.nix @@ -181,13 +181,15 @@ in { home.activation = { vscodeExtensions = lib.hm.dag.entryAfter ["writeBoundary"] '' - if ! command -v "code" &> /dev/null; then + code_bin="/usr/local/bin/code" + + if ! command -v "$code_bin" &> /dev/null; then echo "code CLI is not available" exit 0 fi declare -A currentExtensions - for extension in $(code --list-extensions); do + for extension in $("$code_bin" --list-extensions); do currentExtensions["$extension"]=1; done @@ -198,7 +200,7 @@ in { (ext: '' if [[ -z "''${currentExtensions[${ext}]+unset}" ]]; then echo "installing ${ext}" - code --install-extension ${ext} &> /dev/null + $DRY_RUN_CMD "$code_bin" --install-extension ${ext} &> /dev/null fi unset 'currentExtensions[${ext}]' '') @@ -207,7 +209,7 @@ in { for ext in "''${!currentExtensions[@]}"; do echo "uninstalling $ext" - code --uninstall-extension $ext &> /dev/null + $DRY_RUN_CMD "$code_bin" --uninstall-extension $ext &> /dev/null currentExtensions[$ext]= done '';