From 8914f68cabc51be9925e03f61874a0a254553333 Mon Sep 17 00:00:00 2001 From: Michael Brewer Date: Sun, 24 Mar 2024 02:14:24 -0700 Subject: [PATCH 1/5] feat(code-server): add extension_dir variable closes #204 --- code-server/main.tf | 7 +++++++ code-server/run.sh | 10 ++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/code-server/main.tf b/code-server/main.tf index 30b92bc3..f49ba7af 100644 --- a/code-server/main.tf +++ b/code-server/main.tf @@ -95,6 +95,12 @@ variable "use_cached" { default = false } +variable "extensions_dir" { + type = string + description = "Override the directory to store extensions in. By default extensions are in ~/.local/share/code-server/extensions." + default = "" +} + resource "coder_script" "code-server" { agent_id = var.agent_id display_name = "code-server" @@ -110,6 +116,7 @@ resource "coder_script" "code-server" { SETTINGS : replace(jsonencode(var.settings), "\"", "\\\""), OFFLINE : var.offline, USE_CACHED : var.use_cached, + EXTENSIONS_DIR : var.extensions_dir, }) run_on_start = true diff --git a/code-server/run.sh b/code-server/run.sh index 24443243..aa35e6b6 100755 --- a/code-server/run.sh +++ b/code-server/run.sh @@ -6,10 +6,16 @@ CODE='\033[36;40;1m' RESET='\033[0m' CODE_SERVER="${INSTALL_PREFIX}/bin/code-server" +# if EXTENSIONS_DIR is set then add --extensions-dir to the code-server command +EXTENSION_ARG="" +if [ -n "${EXTENSIONS_DIR}" ]; then + EXTENSION_ARG="--extensions-dir ${EXTENSIONS_DIR} " +fi + function run_code_server() { echo "👷 Running code-server in the background..." echo "Check logs at ${LOG_PATH}!" - $CODE_SERVER --auth none --port "${PORT}" --app-name "${APP_NAME}" > "${LOG_PATH}" 2>&1 & + $CODE_SERVER $EXTENSION_ARG --auth none --port "${PORT}" --app-name "${APP_NAME}" > "${LOG_PATH}" 2>&1 & } # Check if the settings file exists... @@ -57,7 +63,7 @@ for extension in "$${EXTENSIONLIST[@]}"; do continue fi printf "🧩 Installing extension $${CODE}$extension$${RESET}...\n" - output=$($CODE_SERVER --install-extension "$extension") + output=$($CODE_SERVER $EXTENSION_ARG --install-extension "$extension") if [ $? -ne 0 ]; then echo "Failed to install extension: $extension: $output" exit 1 From b3c6caa13ceb20095748b774b709cf8f7bf0d403 Mon Sep 17 00:00:00 2001 From: Michael Brewer Date: Sun, 24 Mar 2024 11:13:27 -0700 Subject: [PATCH 2/5] chore: formatting --- code-server/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code-server/main.tf b/code-server/main.tf index f49ba7af..271ba7fe 100644 --- a/code-server/main.tf +++ b/code-server/main.tf @@ -96,7 +96,7 @@ variable "use_cached" { } variable "extensions_dir" { - type = string + type = string description = "Override the directory to store extensions in. By default extensions are in ~/.local/share/code-server/extensions." default = "" } From b6c6929aed9b405746ec2e3630051da5abbb91d3 Mon Sep 17 00:00:00 2001 From: Michael Brewer Date: Sun, 24 Mar 2024 11:15:32 -0700 Subject: [PATCH 3/5] chore: shellckec fixes --- code-server/run.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code-server/run.sh b/code-server/run.sh index aa35e6b6..e051bc74 100755 --- a/code-server/run.sh +++ b/code-server/run.sh @@ -6,7 +6,7 @@ CODE='\033[36;40;1m' RESET='\033[0m' CODE_SERVER="${INSTALL_PREFIX}/bin/code-server" -# if EXTENSIONS_DIR is set then add --extensions-dir to the code-server command +# Set extension directory EXTENSION_ARG="" if [ -n "${EXTENSIONS_DIR}" ]; then EXTENSION_ARG="--extensions-dir ${EXTENSIONS_DIR} " @@ -15,7 +15,7 @@ fi function run_code_server() { echo "👷 Running code-server in the background..." echo "Check logs at ${LOG_PATH}!" - $CODE_SERVER $EXTENSION_ARG --auth none --port "${PORT}" --app-name "${APP_NAME}" > "${LOG_PATH}" 2>&1 & + $CODE_SERVER "$EXTENSION_ARG" --auth none --port "${PORT}" --app-name "${APP_NAME}" > "${LOG_PATH}" 2>&1 & } # Check if the settings file exists... @@ -63,7 +63,7 @@ for extension in "$${EXTENSIONLIST[@]}"; do continue fi printf "🧩 Installing extension $${CODE}$extension$${RESET}...\n" - output=$($CODE_SERVER $EXTENSION_ARG --install-extension "$extension") + output=$($CODE_SERVER "$EXTENSION_ARG" --install-extension "$extension") if [ $? -ne 0 ]; then echo "Failed to install extension: $extension: $output" exit 1 From ce7f9100431911508905116492356aba7c69e7e6 Mon Sep 17 00:00:00 2001 From: Michael Brewer Date: Tue, 26 Mar 2024 14:29:38 +0200 Subject: [PATCH 4/5] fix: command not found error --- code-server/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code-server/run.sh b/code-server/run.sh index e051bc74..b04e1315 100755 --- a/code-server/run.sh +++ b/code-server/run.sh @@ -9,7 +9,7 @@ CODE_SERVER="${INSTALL_PREFIX}/bin/code-server" # Set extension directory EXTENSION_ARG="" if [ -n "${EXTENSIONS_DIR}" ]; then - EXTENSION_ARG="--extensions-dir ${EXTENSIONS_DIR} " + EXTENSION_ARG="--extensions-dir=${EXTENSIONS_DIR}" fi function run_code_server() { From 4c75bf62bb437b2e831431e7bf03ead1a6224f5a Mon Sep 17 00:00:00 2001 From: Michael Brewer Date: Thu, 4 Apr 2024 00:23:03 -0700 Subject: [PATCH 5/5] docs: trim the docs about extensions_dir --- code-server/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code-server/main.tf b/code-server/main.tf index 271ba7fe..8c0f1e06 100644 --- a/code-server/main.tf +++ b/code-server/main.tf @@ -97,7 +97,7 @@ variable "use_cached" { variable "extensions_dir" { type = string - description = "Override the directory to store extensions in. By default extensions are in ~/.local/share/code-server/extensions." + description = "Override the directory to store extensions in." default = "" }