Setting Up Your Dev Environment for 2026
The new year is a good excuse to clean up your dev environment. Delete the cruft, update the tools, fix the annoyances you've been tolerating. Start fresh.
Here's our current setup, battle-tested across the team. It's opinionated. Adjust for your needs.
Operating System: Start Clean
If you've been accumulating system junk for years, consider a fresh install. Back up your dotfiles, export your configs, and start over. The performance improvement alone is worth the afternoon of setup.
For Mac users: macOS Sequoia is stable. Update if you haven't. The security features are worth the minor compatibility headaches.
For Linux users: Ubuntu 24.04 LTS or Fedora 41 are both solid choices. Pick based on package preferences.
Terminal Setup
Our default terminal stack:
Terminal emulator: We're split between Warp and iTerm2. Warp's AI features are useful but take adjustment. iTerm2 is reliable and familiar. Either works.
Shell: Zsh with a minimal configuration. We stopped using Oh My Zsh because it's slow. Instead, we use:
- Starship for the prompt (fast, customizable)
- zsh-autosuggestions for history-based suggestions
- zsh-syntax-highlighting for inline feedback
That's it. No frameworks. No bloat. Shell startup under 100ms.
Multiplexer: tmux for session management. The learning curve is steep, but persistent sessions save time. If tmux feels like too much, Warp has built-in session persistence.
Package Management
Mac: Homebrew is still the answer. Keep it updated. Run brew cleanup periodically. Install GUI apps with brew install --cask for easier updates.
Node.js: Use a version manager. We've standardized on fnm (Fast Node Manager). It's faster than nvm and handles .nvmrc files automatically.
Package managers: pnpm for project dependencies. It's faster than npm, uses less disk space, and handles mono-repos better. The node_modules structure is stricter, which catches real bugs.
Editor Setup
The team splits between VS Code and Cursor. Both are fine. Here's what we configure:
Essential extensions:
- ESLint and Prettier for formatting (format on save, always)
- GitLens for blame and history
- Error Lens for inline error display
- GitHub Copilot or Codeium for AI assistance
- Import Cost to watch bundle sizes
Settings we enforce:
- Auto-save after 1 second delay
- Format on save enabled
- Final newline always
- Trim trailing whitespace
- Bracket pair colorization on
We share a base settings.json across the team. Consistency matters more than individual preference.
Git Configuration
Git config tweaks that improve quality of life:
git config --global pull.rebase true - Rebase by default. Cleaner history.
git config --global fetch.prune true - Clean up deleted remote branches automatically.
git config --global init.defaultBranch main - New repos start with main.
git config --global push.autoSetupRemote true - Push new branches without verbose flag.
Aliases we use constantly:
git cofor checkoutgit cmfor commit -mgit stfor statusgit lgfor a pretty log graph
Browser Tools
We develop in Chrome or Arc with these extensions:
- React Developer Tools (obviously)
- Redux DevTools if using Redux
- Lighthouse for performance audits
- JSON Formatter for readable API responses
- uBlock Origin for sanity when browsing
Keep dev tools open by default. Dock them to the right on wide monitors, bottom on smaller screens.
API Testing
We switched from Postman to Bruno this year. Main reasons:
- Collections stored as plain files in the repo
- No account required
- No sync issues
- Version control integration
For quick one-off requests, httpie in the terminal is faster than opening any GUI.
Docker and Containers
Docker Desktop works but uses resources. Alternatives worth considering:
- OrbStack (Mac): Faster, lighter, better DX
- Colima: Open source Docker-compatible runtime
- Podman: Daemonless alternative
We've mostly switched to OrbStack for local development. The speed difference is noticeable.
Database Tools
For database GUI, TablePlus remains excellent. Clean interface, supports everything, keyboard-friendly.
For quick terminal access, pgcli (Postgres) and mycli (MySQL) provide autocomplete and syntax highlighting.
Automation
Raycast replaced Spotlight and Alfred. The extension ecosystem covers most needs. Clipboard history, window management, snippets, quick calculations.
Keyboard shortcuts: Learn them. Every minute spent reaching for a mouse adds up. Most productive developers navigate primarily by keyboard.
Maintenance Habits
Good setup requires maintenance:
- Weekly:
brew update && brew upgrade - Monthly: Review installed packages, remove unused ones
- Quarterly: Check for major version updates to core tools
- Yearly: Consider fresh OS install
The Dotfiles Repository
Store your configuration in a git repo. When you set up a new machine, clone and symlink. Include:
- .zshrc or .bashrc
- .gitconfig
- Editor settings
- tmux.conf
- A setup script that installs everything
We maintain a team dotfiles repo with shared defaults. Individual preferences layer on top.
Start the Year Clean
Take an afternoon before work resumes in January. Update everything. Clear the accumulated junk. Document your setup. Your future self will thank you when something breaks and you need to rebuild.
A good environment disappears. You shouldn't notice your tools. You should just use them.