This article was originally published on AI Study Room. For the full version with working code examples and related articles, visit the original post.
Developer Environment Setup Guide
Developer Environment Setup Guide
Developer Environment Setup Guide
Developer Environment Setup Guide
A well-configured developer environment is the foundation of productivity. Investing time in setting up your shell, editor, and tooling pays dividends every single day. This guide covers a complete development environment setup that works across platforms.
Operating System Choice
Choose an operating system that supports the tools you need:
macOS: Excellent developer experience, Unix-based terminal, Homebrew package manager. Preferred for iOS/macOS development.
Linux (Ubuntu/Debian/Fedora): Native Docker performance, full control over the system. Preferred for server-side and Linux-targeted development.
Windows with WSL2: Windows Subsystem for Linux 2 provides a Linux kernel inside Windows. Run Linux tools natively while using Windows applications.
For most developers, macOS or WSL2 on Windows provides the best balance of tooling and usability.
Shell Configuration
Modern shells improve daily productivity. Zsh with Oh My Zsh is the standard:
Install Zsh and Oh My Zsh
sudo apt install zsh -y
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Essential Zsh plugins:
~/.zshrc
plugins=(
git
docker
docker-compose
npm
node
history
colored-man-pages
zsh-autosuggestions
zsh-syntax-highlighting
command-not-found
)
For power users, consider Fish shell for autosuggestions out of the box, or Nushell for structured data pipelines.
Git Configuration
Set up a robust Git configuration:
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
git config --global init.defaultBranch main
git config --global pull.rebase true
git config --global fetch.prune true
git config --global diff.colorMoved zebra
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --decorate --all"
git config --global core.excludesfile ~/.gitignore_global
A global .gitignore prevents committing common OS and editor files:
~/.gitignore_global
.DS_Store
Thumbs.db
*.swp
*.swo
*~
.vscode/
.idea/
*.log
.env.local
Package Managers
Install language-specific package managers:
Node.js (via nvm for version management)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
nvm install --lts
nvm use --lts
Python
sudo apt install python3 python3-pip python3-venv
Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Go
wget https://go.dev/dl/go1.22.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.linux-amd64.tar.gz
Use version managers (nvm, pyenv, rbenv, sdkman) to manage multiple language versions.
Editor Setup
VS Code is the most popular editor for good reason. Essential extensions:
Install via CLI
code --install-extension ms-python.python
code --install-extension dbaeumer.vscode-eslint
code --install-extension esbenp.prettier-vscode
code --install-extension github.copilot
code --install-extension bierner.markdown-mermaid
code --install-extension eamodio.gitlens
code --install-extension ms-azuretools.vscode-docker
code --install-extension streetsidesoftware.code-spell-checker
Settings to consider:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.minimap.enabled": false,
"editor.fontSize": 14,
"editor.fontFamily": "'JetBrains Mono', 'Fira Code', monospace",
"editor.fontLigatures": true,
"editor.cursorBlinking": "smooth",
"files.autoSave": "onFocusChange",
Read the full article on AI Study Room for complete code examples, comparison tables, and related resources.
Found this useful? Check out more developer guides and tool comparisons on AI Study Room.
Top comments (0)