|
| 1 | + <!-- Neon Line Separator --> |
| 2 | +<img src="https://i.imgur.com/dBaSKWF.gif" height="40" width="100%"> |
| 3 | + |
| 4 | +<!-- Header Animation --> |
| 5 | +<div align="center"> |
| 6 | + <img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=32&duration=2800&pause=2000&color=A277FF¢er=true&vCenter=true&width=1080&lines=💮+%7C+VSCodium+Configuration+for+Developers+%7C+💮" alt="Typing SVG" /> |
| 7 | +</div> |
| 8 | + |
| 9 | +<!-- Neon Line Separator --> |
| 10 | +<img src="https://i.imgur.com/dBaSKWF.gif" height="40" width="100%"> |
| 11 | + |
| 12 | +<!--  --> |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | +<!-- Neon Line Separator --> |
| 19 | +<img src="https://i.imgur.com/dBaSKWF.gif" height="40" width="100%"> |
| 20 | + |
| 21 | +<div align="center"> |
| 22 | + <a href="https://git.io/typing-svg"> |
| 23 | + <img src="https://readme-typing-svg.demolab.com?font=Fira+Code&weight=500&size=22&pause=1000&color=FF00F6¢er=true&vCenter=true&random=false&width=524&lines=%E2%8A%B9+Welcome+to+my+profile!+%CB%99%E1%B5%95%CB%99+%E2%8A%B9+" alt="Typing SVG"> |
| 24 | + </a> |
| 25 | +</div> |
| 26 | + |
| 27 | +<!-- Neon Line Separator --> |
| 28 | +<img src="https://i.imgur.com/dBaSKWF.gif" height="40" width="100%"> |
| 29 | + |
| 30 | +### 🧬 ZeroTrustCodium: Secure and Automated IDE Setup |
| 31 | + |
| 32 | +This project provides a curated setup for [VSCodium](https://vscodium.com/), the open-source build of Visual Studio Code. |
| 33 | +Is a cross-platform solution designed to align with the **Zero Trust Security Paradigm** for development environments. It provides a fully automated approach to install, configure, and secure **VSCodium**, ensuring a **telemetry-free**, **privacy-first**, and **developer-optimized** experience. The project also enables full functionality of **GitHub Copilot** and **GitHub Copilot Chat**, overcoming VSCodium's lack of native support for these tools. |
| 34 | + |
| 35 | + |
| 36 | +#### 📌 Disclaimer |
| 37 | + |
| 38 | +**Proof of Concept** (PoC) for educational purposes.It demonstrates the feasibility of automating the configuration of VSCodium and GitHub Copilot in alignment. |
| 39 | + |
| 40 | +> **Note**: While this solution is intended to be cross-platform, it has been tested exclusively on macOS. |
| 41 | +
|
| 42 | +--- |
| 43 | + |
| 44 | +###### 🔋 **Why ZeroTrustCodium?** |
| 45 | + |
| 46 | +- **Automation**: Optimized for CI/CD pipelines and infrastructure-as-code workflows. |
| 47 | +- **GitHub Copilot Integration**: Automates installation and configuration of Copilot and Copilot Chat. |
| 48 | +- **macOS SIP Compliance**: Installs VSCodium in `$HOME/Applications`, preserving System Integrity Protection (SIP). |
| 49 | +- **Developer Efficiency**: Simplifies onboarding with pre-configured settings, extensions, and keybindings. |
| 50 | +- **Privacy**: Disables all telemetry and trackers, ensuring compliance with modern privacy standards. |
| 51 | +- **Security**: Implements the principle of least privilege, avoiding administrative permissions and system-wide changes. |
| 52 | +- **Cross-Platform Development** |
| 53 | + |
| 54 | +--- |
| 55 | + |
| 56 | +###### 📦 One-Command Installation |
| 57 | + |
| 58 | +```bash |
| 59 | +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/zx0r/VSCodium-Configuration/main/bootstrap.sh)" |
| 60 | +``` |
| 61 | + |
| 62 | +🎉 After installation, VSCodium will be ready to use with full **GitHub Copilot** functionality and **Zero Trust Security** configuration applied. |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +###### 📂 **Repository Structure** |
| 67 | +``` |
| 68 | +ZeroTrustCodium/ |
| 69 | +├── install.sh # Main orchestration script |
| 70 | +├── scripts/ |
| 71 | +│ ├── formatter.sh |
| 72 | +│ ├── install_vscodium.sh # Installs VSCodium |
| 73 | +│ ├── configure_vscodium.sh # Configures settings.json, keybindings.json, extensions.json |
| 74 | +│ ├── install_extensions.sh # Installs extensions (e.g., GitHub Copilot) |
| 75 | +│ ├── install_copilot.sh # Installl GitHub Copilot and modify product.json |
| 76 | +│ └── run_vscodium.sh # Launches the configured VSCodium |
| 77 | +├── configs/ |
| 78 | +│ ├── settings.json # Pre-configured VSCodium settings |
| 79 | +│ ├── keybindings.json # Custom keybindings |
| 80 | +│ ├── extensions.json # Extensions to install |
| 81 | +├── README.md # Documentation |
| 82 | +``` |
| 83 | + |
| 84 | +--- |
| 85 | + |
| 86 | +###### ⚙️ **Configuration Files** |
| 87 | + |
| 88 | +**`settings.json`** |
| 89 | +```json |
| 90 | +{ |
| 91 | + "telemetry.telemetryLevel" : "off", // Completely disable telemetry |
| 92 | + "telemetry.enableErrorTelemetry" : false, // Disable error telemetry |
| 93 | + "aws.telemetry" : false, // Disable AWS telemetry |
| 94 | + "azure.telemetry.enabled" : false, // Disable Azure telemetry |
| 95 | + "redhat.telemetry.enabled" : false, // Disable Red Hat telemetry |
| 96 | + "docker.telemetry.enabled" : false, // Disable Docker telemetry |
| 97 | + "git.autofetch" : false, // Disable automatic fetching of Git repositories |
| 98 | + "git.enableTelemetry" : false, // Disable Git telemetry |
| 99 | + "github.telemetry.enabled" : false, // Disable GitHub telemetry |
| 100 | + "git.autoRepositoryDetection" : false, // Disable automatic fetching of remote repositories |
| 101 | + "gitlens.advanced.telemetry.enabled" : false, // Disable GitLens telemetry |
| 102 | + "github.copilot.advanced.telemetry.enabled" : false, // Disable Copilot telemetry |
| 103 | + "python.telemetry.enabled" : false, // Disable Python telemetry |
| 104 | + "python.analysis.logLevel" : "Error", // Disable Python language server telemetry |
| 105 | + "typescript.tsserver.log" : "off", // Disable TypeScript server telemetry |
| 106 | + "typescript.tsserver.enableTelemetry" : false, // Disable TypeScript server telemetry |
| 107 | + "typescript.suggestionActions.enabled" : false, // Disable TypeScript suggestions |
| 108 | + "javascript.suggestionActions.enabled" : false, // Disable JavaScript suggestions |
| 109 | + // ... and other 4000+ lines |
| 110 | +} |
| 111 | +``` |
| 112 | + |
| 113 | +**`extensions.json`** |
| 114 | +```json |
| 115 | +{ |
| 116 | + "recommendations": [ |
| 117 | + "GitHub.copilot", |
| 118 | + "GitHub.copilot-chat" |
| 119 | + ] |
| 120 | +} |
| 121 | +``` |
| 122 | + |
| 123 | +**`keybindings.json`** |
| 124 | +```json |
| 125 | +[ |
| 126 | + { |
| 127 | + "key": "alt+right", |
| 128 | + "command": "workbench.action.nextEditor" |
| 129 | + }, |
| 130 | +] |
| 131 | +``` |
| 132 | +--- |
| 133 | + |
| 134 | +```bash |
| 135 | +# Search ID APP VsCode |
| 136 | +# Method 1: Check the VS Code Marketplace. |
| 137 | +# Go to the VS Code Marketplace https://marketplace.visualstudio.com |
| 138 | +# Search for the extension name (e.g., Ixion, Vibrancy Continued, Symbols Icon Theme) |
| 139 | +# Open the extension's page -> https://marketplace.visualstudio.com/items?itemName=illixion.vscode-vibrancy-continued |
| 140 | +# The extension ID is displayed in the URL or under the More Info section |
| 141 | + |
| 142 | +# ⚠️ "Your VSCode installation appears to be corrupt" |
| 143 | + |
| 144 | +# This extension works by editing VS Code's checksum-verified HTML files, after installing and enabling Vibrancy Continued. |
| 145 | +# This warning is safe to disregard, and all changes can be reverted. |
| 146 | +# Click on the cogwheel and select Don't Show Again to hide it. |
| 147 | + |
| 148 | +############################# |
| 149 | +# 🖼️ Themes and UI Enhancements |
| 150 | +############################# |
| 151 | +illixion.vscode-vibrancy-continued # Native Vibrancy Effect |
| 152 | +miguelsolorio.fluent-icons # Fluent Icons |
| 153 | +miguelsolorio.symbols # File Icons Theme |
| 154 | + |
| 155 | +############################# |
| 156 | +# 🤖 AI Tools |
| 157 | +############################# |
| 158 | +GitHub.copilot # GitHub Copilot AI |
| 159 | +GitHub.copilot-chat # GitHub Copilot Chat |
| 160 | +tabnine.tabnine-vscode # TabNine AI Assistant |
| 161 | +sourcegraph.cody-ai # Sourcegraph Cody AI |
| 162 | +codeium.codeium # Codeium AI |
| 163 | +bito.bito-vscode-staging # Bito AI for Staging |
| 164 | +kodu-ai.claude-dev-experimental # Claude AI Experimental |
| 165 | +Kingleo.deepseek-web # DeepSeek Web |
| 166 | + |
| 167 | +############################# |
| 168 | +# 🔧 Core Programming Languages |
| 169 | +############################# |
| 170 | +vincaslt.highlight-matching-tag # Matching HTML/XML Tags |
| 171 | +ecmel.vscode-html-css # HTML/CSS IntelliSense |
| 172 | +bradlc.vscode-tailwindcss # Tailwind CSS IntelliSense |
| 173 | +mkhl.shfmt # Shell Formatter |
| 174 | +bmewburn.vscode-intelephense-client # PHP Support |
| 175 | +ms-python.python # Python Language Support |
| 176 | +ms-python.gather # Python Output Capture |
| 177 | +ms-toolsai.vscode-ai # Azure AI Tools |
| 178 | +ms-toolsai.prompty # Prompt Engineering Toolkit |
| 179 | +rust-lang.rust-analyzer # Rust Language Server |
| 180 | + |
| 181 | +############################# |
| 182 | +# 🗃️ Git and Version Control |
| 183 | +############################# |
| 184 | +eamodio.gitlens # GitLens Insights |
| 185 | +mhutchie.git-graph # Git Graph Visualizer |
| 186 | +donjayamanne.githistory # Git History Browser |
| 187 | +waderyan.gitblame # Git Blame Annotations |
| 188 | +codezombiech.gitignore # .gitignore Support |
| 189 | +vivaxy.vscode-conventional-commits # Conventional Commit Support |
| 190 | +arturock.gitstash # Git Stash Tool |
| 191 | +buianhthang.gitflow # Git Flow Integration |
| 192 | +felipecaputo.git-project-manager # Git Project Organization |
| 193 | +ahmadawais.emoji-log-vscode # Emoji Git Log Formatter |
| 194 | +shyykoserhiy.git-autoconfig # Git Auto-config |
| 195 | +carlocardella.vscode-virtualrepos # Virtual Git Repos (Optional) |
| 196 | +gitlab.gitlab-workflow # GitLab Integration (Optional) |
| 197 | + |
| 198 | +############################# |
| 199 | +# 🏗️ Build and DevOps |
| 200 | +############################# |
| 201 | +ms-azuretools.vscode-docker # Docker Management |
| 202 | +ms-azure-devops.azure-pipelines # Azure Pipelines |
| 203 | +ms-vscode.makefile-tools # Makefile Support |
| 204 | +ms-vscode.cmake-tools # CMake Support |
| 205 | +circleci.circleci # CircleCI CI/CD Tools |
| 206 | +ms-kubernetes-tools.vscode-kubernetes-tools # Kubernetes Integration |
| 207 | + |
| 208 | +############################# |
| 209 | +# 🛢️ Database and SQL |
| 210 | +############################# |
| 211 | +mtxr.sqltools # SQL Tools Extension |
| 212 | +mtxr.sqltools-driver-pg # PostgreSQL Driver |
| 213 | +ms-mssql.mssql # MSSQL Tools |
| 214 | +cweijan.vscode-database-client2 # General DB Client |
| 215 | +Redis.redis-for-vscode # Redis Tools |
| 216 | + |
| 217 | +############################# |
| 218 | +# ⚡ Productivity Tools |
| 219 | +############################# |
| 220 | +asvetliakov.vscode-neovim # NeoVim Integration |
| 221 | +alefragnani.bookmarks # Line Bookmarking |
| 222 | +alefragnani.project-manager # Project Switcher |
| 223 | +Gruntfuggly.todo-tree # TODO Comments Organizer |
| 224 | +streetsidesoftware.code-spell-checker # Spell Checker |
| 225 | +mechatroner.rainbow-csv # CSV Viewer |
| 226 | +tomoki1207.pdf # PDF Viewer |
| 227 | +jheilingbrunner.vscode-gnupg-tool # GPG Tools |
| 228 | +sleistner.vscode-fileutils # File Utilities |
| 229 | + |
| 230 | +############################# |
| 231 | +# 🎨 Formatting and Linting |
| 232 | +############################# |
| 233 | +esbenp.prettier-vscode # Prettier Formatter |
| 234 | +dbaeumer.vscode-eslint # ESLint for JS/TS |
| 235 | +stylelint.vscode-stylelint # CSS Style Linter |
| 236 | +aaron-bond.better-comments # Colorized Comments |
| 237 | +oderwat.indent-rainbow # Indentation Highlights |
| 238 | +HookyQR.beautify # Code Beautifier (Deprecated) |
| 239 | + |
| 240 | +############################# |
| 241 | +# 🐚 Shell Scripting |
| 242 | +############################# |
| 243 | +timonwong.shellcheck # Shell Script Linter |
| 244 | +rogalmic.bash-debug # Bash Debugger |
| 245 | +foxundermoon.shell-format # Shell Formatter |
| 246 | +mads-hartmann.bash-ide-vscode # Bash Language Server |
| 247 | +formulahendry.code-runner # Universal Code Runner |
| 248 | +mkhl.direnv # Direnv Integration |
| 249 | +remisa.shellman # Shell Snippet Manager |
| 250 | + |
| 251 | +############################# |
| 252 | +# 🐍 Python-Specific Tools |
| 253 | +############################# |
| 254 | +ms-python.isort # Python Import Sorter |
| 255 | +ms-python.black-formatter # Black Autoformatter |
| 256 | +njpwerner.autodocstring # Docstring Generator |
| 257 | +sourcery.sourcery # AI Refactor for Python |
| 258 | +batisteo.vscode-django # Django Framework Support |
| 259 | +ms-python.devicesimulatorexpress # Device Simulator |
| 260 | +donjayamanne.python-environment-manager # Env Manager |
| 261 | +ms-python.anaconda-extension-pack # Anaconda Tools |
| 262 | + |
| 263 | +############################# |
| 264 | +# 📘 Markdown |
| 265 | +############################# |
| 266 | +yzhang.markdown-all-in-one # Markdown Toolkit |
| 267 | +DavidAnson.vscode-markdownlint # Markdown Linter |
| 268 | + |
| 269 | +############################# |
| 270 | +# 🛠️ Config Formats (YAML, TOML, XML) |
| 271 | +############################# |
| 272 | +tamasfe.even-better-toml # TOML Support |
| 273 | +redhat.vscode-yaml # YAML Linter + Server |
| 274 | +redhat.vscode-xml # XML Language Support |
| 275 | +mikestead.dotenv # .env File Highlighting |
| 276 | +editorconfig.editorconfig # EditorConfig Support |
| 277 | + |
| 278 | +############################# |
| 279 | +# 🌐 Web/API Development |
| 280 | +############################# |
| 281 | +yandeu.five-server # Static Server w/ Live Reload |
| 282 | +vue.volar # Vue 3 IDE Support |
| 283 | +Angular.ng-template # Angular Language Tools |
| 284 | +denoland.vscode-deno # Deno Support |
| 285 | +octref.vetur # Vue 2 Support |
| 286 | +dsznajder.es7-react-js-snippets # React Snippets |
| 287 | +xabikos.javascriptsnippets # JS Snippets |
| 288 | +donjayamanne.jquerysnippets # jQuery Snippet |
| 289 | +gamunu.vscode-yarn # Yarn Integration |
| 290 | +redhat.fabric8-analytics # Vulnerability Insights |
| 291 | + |
| 292 | +############################# |
| 293 | +# 🧪 Testing and Debugging |
| 294 | +############################# |
| 295 | +hbenl.vscode-test-explorer # Universal Test Explorer |
| 296 | +usernamehw.errorlens # Inline Error Highlighting |
| 297 | +ms-playwright.playwright # Playwright Testing Tools |
| 298 | + |
| 299 | +############################# |
| 300 | +# 🌀 Miscellaneous |
| 301 | +############################# |
| 302 | +panekj.powershell # PowerShell Tools |
| 303 | +Oracle.oracledevtools # Oracle DB Tools |
| 304 | +betterthantomorrow.calva # Clojure Development |
| 305 | +vmware.vscode-boot-dev-pack # Spring Boot Toolkit |
| 306 | + |
| 307 | +``` |
| 308 | + |
| 309 | +###### 📜 **License** |
| 310 | + |
| 311 | +This project is licensed under the MIT License. See the `LICENSE` file for details. |
| 312 | + |
| 313 | +--- |
| 314 | + |
| 315 | + <!-- Neon Line Separator --> |
| 316 | +<img src="https://i.imgur.com/dBaSKWF.gif" height="40" width="100%"> |
| 317 | + |
| 318 | +<!-- Header Animation --> |
| 319 | +<div align="center"> |
| 320 | + <img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=32&duration=2800&pause=2000&color=A277FF¢er=true&vCenter=true&width=1080&lines=💮+%7C+VSCodium+Configuration+for+Developers+%7C+💮" alt="Typing SVG" /> |
| 321 | +</div> |
| 322 | + |
| 323 | + <!-- Neon Line Separator --> |
| 324 | +<img src="https://i.imgur.com/dBaSKWF.gif" height="40" width="100%"> |
0 commit comments