William Mulianto

My Development Setup in 2026

· 3 min read

Here’s what I use day-to-day and why each tool stuck around.

Editor — LazyVim

I use Neovim with LazyVim as my editor. It gives you a fully configured Neovim out of the box — LSP, autocompletion, file explorer, fuzzy finder, git integration — without spending weeks writing your own config from scratch.

What I like about LazyVim is that it’s opinionated enough to be productive immediately, but everything is overridable. I’ve tweaked keybindings, swapped a few plugins, and added language-specific configs, but the core setup just works. VS Code is great too — I just happen to prefer this workflow.

Terminal — Ghostty

Ghostty replaced everything else for me — iTerm2, Alacritty, all of it. Built by Mitchell Hashimoto (HashiCorp co-founder), it uses Metal on macOS for GPU-accelerated rendering and feels like a native Apple app because it actually uses AppKit.

It starts instantly, renders fast, and doesn’t get in the way. The config is a single file, no JSON or YAML — just key-value pairs. Ligatures work out of the box, splits and tabs feel native. It’s the terminal I wanted iTerm2 to be.

AI — Claude Code

Claude Code is my go-to AI coding tool. It runs in the terminal, understands project context, and can read, write, and edit files directly. I use it for everything from scaffolding new features to debugging tricky issues.

What I like most is that it works inside my existing workflow — no separate app, no browser tab. Just another tool in the terminal alongside everything else.

zoxide replaces cd. It learns which directories you visit most and lets you jump to them with partial names. Instead of typing cd ~/projects/client/app/src, I just type z src and it figures out which one I mean.

Small tool, big time saver. Once you use it for a week, you can’t go back to regular cd.

Git — lazygit

lazygit is a terminal UI for git. Staging hunks, interactive rebasing, managing branches, resolving conflicts — all from a keyboard-driven interface without memorizing git flags. I use it for everything.

Docker — OrbStack

OrbStack replaced Docker Desktop on my Mac. It starts in about 2 seconds (Docker Desktop takes 20–30), uses significantly less memory and battery, and is a native Swift app that doesn’t feel like it’s fighting macOS.

It’s a drop-in replacement — same Docker commands, same docker-compose files, everything just works. The only difference is your fans stay quiet and your battery lasts longer.

SSH — Termius

Termius is my SSH client. It syncs hosts, keys, and credentials across devices — desktop and mobile. When I need to SSH into a server from my phone, it’s there. The snippet feature is handy for commands I run often on remote machines.

For quick SSH sessions I still use the terminal directly, but for managing multiple servers with saved configs, Termius keeps things organized.

Related