# My development setup in 2026: editor, terminal, and flow

> A development environment that has grown simpler over the years — which tools I've kept and why I let most new ones pass me by.

- Published: 2026-10-04
- Category: Tools & Technologies
- Reading time: 4 min read
- Source: https://muhammetsafak.com/blog/my-development-setup-in-2026/
- Language: en-US
- Author: Muhammet Şafak

---
Development environment posts are usually just a list of tools. This one is not. My setup doesn't change easily, and what I actually want to talk about is **what changed and why, or why it didn't.**

## Operating system: moving away from the noise

For years I developed on Windows on my desktop and Ubuntu on my laptop. One of the most fundamental changes of this year for me was moving to a MacBook as my portable machine. macOS is now my primary operating system, for both everyday and work use. Ubuntu has moved next to Windows on my desktop and become my secondary system, while Windows has been reduced to a system I only use for gaming.

The reason for this move fits in one sentence: to break free of operating system noise and build a more focused working environment.

## Editor: the one promise I kept — it has to be fast

I started writing code with Notepad++; on the road from there to VS Code and JetBrains IDEs, I tried dozens of editors and IDEs. Most of my career was spent with VS Code and JetBrains IDEs. In 2026 that picture changed: the more AI entered my development process, the more the comprehensive but heavy IDEs dropped out of my daily flow.

The most important thing I expect from an editor now is speed. It should open fast, search fast, switch between files fast. Everything else — themes, plugins — is secondary.

I've always been strict about plugins, and I still am: I only install a plugin if I use it every day and it solves a real need of mine. Every plugin, however small, is a burden and a source of indecision. The line between "personalizing" an editor and slowing it down is thinner than you'd think.

## Terminal: this is home

Most of my day happens in the terminal. I use a terminal multiplexer to keep multiple sessions in a single window: one pane for the running application, one for tests, one for git. Reducing context switching from hunting for windows to pressing a shortcut eliminates dozens of small interruptions every day.

I bind frequently repeated actions to short aliases and small scripts. None of them are impressive — but each one turns a repetitive motion into something done without thinking. Productivity usually comes not from a shiny tool but from quietly reducing friction.

## AI tools: assistant, not driver

I've been using AI tools regularly since the end of 2022. Until 2025, they were a tab open in my browser — mostly an assistant I got to run analyses for me. In 2026, they became a natural part of my development environment.

But I've drawn clear lines around their place and their job description. I decide the architecture and the patterns to apply; I make every decision, from whether a package gets into the project to how much a new module should be abstracted.

In my setup, AI has three jobs: writing code for me, reviewing code before I do and giving it a first read, and running simple analyses inside the code for me. Making decisions is not on this list.

## Why I let most new things pass

Every month brings a new editor, a new terminal, a new tool. I used to try all of them. I don't anymore — and that's not laziness; it's a conscious choice.

Switching tools carries a hidden cost: relearning, rebuilding muscle memory, re-tuning all the small settings. That cost is only worth paying when the current tool is genuinely falling short. If my tool is getting the job done, changing it just because "something better might have come out" brings distraction, not gain.

## Keeping the setup portable

There's something just as important as keeping the environment lean: keeping it portable. When I move to a new machine or swap a disk, I don't want to spend hours rebuilding my setup from scratch.

That's why I keep my entire environment configuration — editor settings, terminal config, aliases, git settings — in a single repository. On a new machine, a few commands and everything is back in place. This habit looks like unnecessary fussiness at first; but on the first day you're forced to switch machines, it pays for itself many times over.

There's an invisible benefit too: once your configuration lives in a repo, you start thinking about it. You know why each setting is there, because you had to write it down and commit it. Your environment stops being a pile of settings accumulated haphazardly over years and becomes something deliberately built.

## Summary

[A good development environment](/blog/consistent-dev-environment-with-laravel-homestead/) is not the sum of the newest tools — it's a stable, low-friction setup that keeps you from thinking about the environment itself and lets you think about your work. Mine went through a few fundamental changes this year, but the same principle sits behind all of them: reducing friction.
