From 83a8463e59880a688a9acf25191a59dc1a6546d5 Mon Sep 17 00:00:00 2001 From: Richard Sperry Date: Thu, 17 Apr 2025 17:12:33 -0700 Subject: [PATCH] devenv --- ChangeLog.md | 22 ++++ cspell.json | 11 ++ vscode/Dockerfile | 1 + .../defaults/vscode/SERVER.code-workspace | 108 +++++++++++++++++- .../code-server/defaults/vscode/tasks.json | 3 +- .../defaults/vscode/vscode.extensions | 1 - 6 files changed, 141 insertions(+), 5 deletions(-) create mode 100644 ChangeLog.md create mode 100644 cspell.json diff --git a/ChangeLog.md b/ChangeLog.md new file mode 100644 index 0000000..123dcd2 --- /dev/null +++ b/ChangeLog.md @@ -0,0 +1,22 @@ +# Changes + +Changed docker install to install via code-server the recommended way +changed docker install for ZSH to be installed the recommended way +changed extension install to use code-server so they are registered +removed boot time removal of code-server extensions +changed code-server launch to use its config instead of command line args +changed boot scripts for readability +changed boot dependency order for stability +changed default files path +added a common paths file for all boot scripts to eliminate path issues +added extra code-server config options to disable some unwanted things +added code to convert the os log setting to code-server so logging is increased for debugging +added npm and vsce to allow code-server to check extension signatures +added a workspace to help cleanup the view to only HA files and not the local server +added a folder for code-server config files, to distinguish from +added a new init script to run user-added scripts at boot to enhance functionality +added a tasks file for common tasks be in vs code. +added a script in custom boot to allow tasks to be code-backed for extra convenience. + +# TODO +get code to auto-launch terminal to motd \ No newline at end of file diff --git a/cspell.json b/cspell.json new file mode 100644 index 0000000..a418390 --- /dev/null +++ b/cspell.json @@ -0,0 +1,11 @@ +{ + "version": "0.2", + "ignorePaths": [], + "dictionaryDefinitions": [], + "dictionaries": [], + "words": [ + "bashio" + ], + "ignoreWords": [], + "import": [] +} diff --git a/vscode/Dockerfile b/vscode/Dockerfile index 4443e23..32f1775 100644 --- a/vscode/Dockerfile +++ b/vscode/Dockerfile @@ -45,6 +45,7 @@ RUN apt-get update \ npm \ && npm install -g @vscode/vsce \ && rm -rf /var/lib/apt/lists/* +# npm and vsce allow code-server to check extensions signatures # System configuration RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen && \ diff --git a/vscode/rootfs/var/lib/code-server/defaults/vscode/SERVER.code-workspace b/vscode/rootfs/var/lib/code-server/defaults/vscode/SERVER.code-workspace index b082c46..20b9b1b 100644 --- a/vscode/rootfs/var/lib/code-server/defaults/vscode/SERVER.code-workspace +++ b/vscode/rootfs/var/lib/code-server/defaults/vscode/SERVER.code-workspace @@ -12,7 +12,111 @@ }, "extensions": { "recommendations": [ - "pinage404.bash-extension-pack" + "esphome.esphome-vscode", // moved here as not everyone has ESPhome + "ibm.output-colorizer", // colorize output + "pinage404.bash-extension-pack" // helps with bash scipts ] - } + }, + "files.associations": { + "*.dash": "yaml", + "**/esphome/*.yaml": "esphome", + "**/esphome/**/*.yaml": "esphome", + "*.yaml": "home-assistant" + }, + "files.watcherExclude": { + ".nfs**": true, + ".Trash-0/**": true, + "**/__pycache__/**": true, + "**/._*": true, + "**/.cloud": true, + "**/.git/objects/**": true, + "**/.git/subtree-cache/**": true, + "**/.HA_VERSION": true, + "**/.storage": true, + "**/*.db-shm": true, + "**/*.db-wal": true, + "**/*.db": true, + "**/*.log": true, + "**/deps/**": true, + "**/node_modules": true, + "**/OZW_Log.txt": true, + "**/pyozw.sqlite": true + }, + "search.exclude": { + ".Trash-0/**": true, + "**/__pycache__/**": true, + "**/._*": true, + "**/.cloud": true, + "**/.git/objects/**": true, + "**/.git/subtree-cache/**": true, + "**/.git": true, + "**/.HA_VERSION": true, + "**/.storage": true, + "**/*.db-shm": true, + "**/*.db-wal": true, + "**/*.db": true, + "**/*.log": true, + "**/deps/**": true, + "**/node_modules": true, + "**/OZW_Log.txt": true, + "**/pyozw.sqlite": true + }, + "files.exclude": { + ".Trash-0/**": true, + "**/__pycache__": true, + "**/.cloud": true, + "**/.DS_Store": true, + "**/.git": true, + "**/.HA_VERSION": true, + "**/.storage": true, + "**/*.db-shm": true, + "**/*.db-wal": true, + "**/*.db": true, + "**/deps/**": true, + "**/node_modules": true + }, + "yaml.customTags": [ + "!env_var scalar", + "!include_dir_list scalar", + "!include_dir_merge_list scalar", + "!include_dir_merge_named scalar", + "!include_dir_named scalar", + "!include scalar", + "!secret scalar" + ], + "[yaml]": { + "editor.autoIndent": "full", + "editor.insertSpaces": true, + "editor.tabSize": 2, + "editor.quickSuggestions": { + "other": true, + "comments": false, + "strings": true + } + }, + "[home-assistant]": { + "editor.autoIndent": "full", + "editor.insertSpaces": true, + "editor.tabSize": 2, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.formatOnPaste": true + }, + "editor.renderWhitespace": "boundary", + "esphome.validator": "local", + "telemetry.enableTelemetry": false, + "terminal.integrated.copyOnSelection": true, + "terminal.integrated.shell.linux": "/usr/bin/zsh", + "update.mode": "none", + "vsicons.dontShowNewVersionMessage": true, + "vsicons.projectDetection.disableDetect": true, + "workbench.iconTheme": "vs-seti", + "yaml.format.enable": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.rulers": [ + 80, + 88, + 100, + 120 + ] } diff --git a/vscode/rootfs/var/lib/code-server/defaults/vscode/tasks.json b/vscode/rootfs/var/lib/code-server/defaults/vscode/tasks.json index c4e4550..03972ff 100644 --- a/vscode/rootfs/var/lib/code-server/defaults/vscode/tasks.json +++ b/vscode/rootfs/var/lib/code-server/defaults/vscode/tasks.json @@ -4,7 +4,7 @@ { "label": "Show ENV Vars", "type": "shell", - "command": "show_vars", + "command": "$show_vars", "group": { "kind": "helpers", "isDefault": true @@ -21,4 +21,3 @@ } ] } - diff --git a/vscode/rootfs/var/lib/code-server/defaults/vscode/vscode.extensions b/vscode/rootfs/var/lib/code-server/defaults/vscode/vscode.extensions index 87900e3..aa07282 100644 --- a/vscode/rootfs/var/lib/code-server/defaults/vscode/vscode.extensions +++ b/vscode/rootfs/var/lib/code-server/defaults/vscode/vscode.extensions @@ -1,6 +1,5 @@ emilast.LogFileHighlighter esbenp.prettier-vscode -ESPHome.esphome-vscode keesschollaart.vscode-home-assistant lukas-tr.materialdesignicons-intellisense oderwat.indent-rainbow