Document

VS Code + Dev Environment Setup

Reproducible workstation setup with VS Code settings, extensions, and tool installation commands.

VS Code + Dev Environment Setup

Reproducible Config for New Machines

Use this file to rebuild the same development setup on another Garuda/Arch-based machine.

What this includes:


1) VS Code Settings

Copy into your user settings file:

{
  "editor.fontSize": 14,
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit",
    "source.organizeImports": "explicit"
  },
  "editor.defaultFormatter": "esbenp.prettier-vscode",

  "files.autoSave": "onFocusChange",

  "editor.tabSize": 2,
  "editor.insertSpaces": true,

  "editor.minimap.enabled": false,
  "editor.smoothScrolling": true,

  "workbench.iconTheme": "material-icon-theme",
  "workbench.colorTheme": "One Dark Pro",

  "editor.inlineSuggest.enabled": true,
  "js/ts.updateImportsOnFileMove.enabled": "always",
  "git.autofetch": true,

  "breadcrumbs.enabled": true,
  "editor.guides.bracketPairs": true,
  "editor.bracketPairColorization.enabled": true,

  "github.copilot.nextEditSuggestions.enabled": true,

  "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",

  "gitlens.ai.model": "vscode",
  "gitlens.ai.vscode.model": "copilot:gpt-4.1"
}

Why these settings:


2) VS Code Extensions

Create an extensions backup file named extensions.txt with this content:

esbenp.prettier-vscode
dbaeumer.vscode-eslint
eamodio.gitlens
pkief.material-icon-theme
zhuangtongfa.material-theme
bradlc.vscode-tailwindcss
christian-kohler.npm-intellisense
christian-kohler.path-intellisense
pranaygp.vscode-css-peek
wix.vscode-import-cost
ritwickdey.liveserver
steoates.autoimport
mgmcdermott.vscode-language-babel
xabikos.javascriptsnippets
formulahendry.auto-close-tag
formulahendry.auto-rename-tag
ms-python.python
ms-python.vscode-pylance
ms-python.debugpy
ms-python.vscode-python-envs
github.copilot-chat
rangav.vscode-thunder-client
mikestead.dotenv

Install all extensions from file:

cat extensions.txt | xargs -L 1 code --install-extension

Create backup from current machine:

code --list-extensions > extensions.txt

3) Installed Apps and Dependencies

Core development tools

Runtime and language stack

Container stack

Process and terminal workflow

Package managers

Database tooling


4) Full Rebuild Commands (New Machine)

A. Install base dependencies

sudo pacman -Syu
sudo pacman -S git curl wget unzip tar base-devel nodejs go postgresql docker docker-compose pm2 tmux

B. Enable Docker service

sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER

Note: log out and back in once so docker group membership applies.

C. Install yay (AUR helper)

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
cd ..
rm -rf yay

D. Install AUR desktop/dev tools

yay -S beekeeper-studio-bin

E. Enable pnpm through Corepack

corepack enable
corepack prepare pnpm@10.33.0 --activate
pnpm --version

5) VS Code Restore Flow

Restore settings

  1. Open VS Code.
  2. Open Command Palette.
  3. Run Preferences: Open User Settings (JSON).
  4. Paste settings block from this file.

Restore extensions

  1. Place extensions.txt in your home or workspace.
  2. Run install command:
cat extensions.txt | xargs -L 1 code --install-extension

6) Quick Verification Checklist

Run these checks:

git --version
docker --version
docker compose version
pnpm --version
go version
psql --version
tmux -V
pm2 -v

If all return versions, setup is functional.


7) Daily Startup Flow (After Setup)

tmux new -s dev
docker compose up -d
git fetch --all --prune
git pull --rebase
pnpm install
pnpm dev

Recommended pane layout:


Final Mental Model

This gives you a repeatable environment that can be rebuilt quickly on any compatible machine.