Let me rewind to when I just got my hands on a fresh Mac, ready to dive into some software engineering work. One of the first things that popped into my mind—as any techie would relate—is the terminal. Sure, macOS comes with a built-in Terminal app, but in my opinion, it doesn’t quite have the vibe to make your coding buddy think you’re a hacker.
So, let’s politely bench the default Terminal and head over to the iTerm2 website. Big thanks to iTerm2 for sponsoring this transition, (I don’t have a sponsorship).
iTerm2 is minimalist, not overdone, but definitely cool enough to boost your confidence as a coder—especially once you sprinkle in some personal flair, which I’ll share with you shortly. That flair is tailored to my own preferences and workflow goals, so feel free to deviate and make it your own as we go.
The color scheme
I know choosing a color scheme is a deeply personal thing—it often reflects our individual style and preferences. As I mentioned earlier, the setup I’m sharing is tailored to mine. Personally, I go with One Dark as my go-to color scheme across almost every code editor I use. It strikes a great balance: enough color variety to clearly differentiate elements like variables, classes, functions, and more, without overwhelming my eyes.
Now, applying a custom color scheme in iTerm2 isn’t exactly a one-click process—it’s a bit of a wander through settings and tweaks. But don’t worry, you can head over to the iterm-one-dark-theme GitHub repo. It’s open source, and the README file has clear instructions to get the theme set up properly.
While you’re in there, let’s slide in a few extra tweaks to level up the look. First up: go to Settings > Appearance > General, and toggle the Theme from Regular to Minimal. Next: go to Settings > Profiles > Window, and set the transparency to 8 and blur to 14 for a subtle, stylish effect. Still in the same section, scroll down until you find the “New window” settings—set the width to 180 and height to 50. This gives your terminal a roomy layout right from startup, which is especially handy if you’re a backend engineer frequently digging through long logs.
The font family
There was a time in my life when I became a huge fan of IntelliJ, and ever since, JetBrains Mono has been my go-to font for coding. But here’s an important tip: don’t download JetBrains Mono from Google Fonts or JetBrains website. Instead, grab it from the NerdFonts website.
Why? Because the NerdFonts version is patched with tons of useful developer icons and symbols — the kind that power up your terminal tools, file explorers, and prompt themes. If you’re using tools like starship, powerlevel10k, or even a fancy file tree in Neovim or VS Code, those icons won’t show up properly unless your font supports them. That’s what NerdFonts does — it gives your favorite font superpowers.
The zsh framework
Alright, we’ve got the visuals looking sharp—now let’s talk about the brains of the operation: the Zsh shell.
I won’t over-explain this part—there’s a lot that could be said, but let’s keep it simple. Head over to the Oh My Zsh website to install this delightful piece of shell magic. The installation guide is super clear, and big shoutout to the awesome open source contributors behind it.
Once installed, open your .zshrc
file to take a look at the configuration. For the theme, I keep it classic and minimal—fast, familiar, and no-frills:
ZSH_THEME="robbyrussell"
As for plugins, I keep things lightweight with just three solid picks that really boost my workflow:
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
)
If you want to tinker with these a bit, check out zsh-autosuggestions and zsh-syntax-highlighting on GitHub. Once you’ve cloned or installed them, just hook them into your .zshrc
like shown above.
And don’t forget to run:
source ~/.zshrc
after making changes. Restart your terminal and see if everything kicks in—especially the handy autosuggestions. If you see those little gray ghost-text suggestions, you’re all set.
Also, if you’re using the git plugin (which I highly recommend), you’ll get access to a bunch of useful Git aliases that can really speed things up. I found this Oh My Zsh Git cheat sheet super handy for learning and remembering those shortcuts. It’s a great way to level up your command-line Git game without memorizing every flag and command combo.
Bonus flavor
Alright, if you’ve made it this far, your terminal is already looking sharp and feeling fast. But let’s take things a step further—this is the bonus flavor that’ll make your coding buddy raise an eyebrow and say, “Okay, this person doesn’t mess around.”
First up: lazygit. If you haven’t tried it yet, lazygit is a terminal UI for Git that feels ridiculously smooth. It turns Git into something almost… pleasant? Once installed, just run lazygit in your project directory and enjoy a clean, keyboard-friendly interface for all your Git operations. It’s one of those tools that instantly makes your workflow feel elevated.
Next, let’s talk editors. If you’re ready to stray from the VS Code herd, check out nvim with the kickstart.nvim config. Now, I know what you’re thinking: “Should I configure Neovim from scratch and become a Vim wizard?” And to that, I say—sure, if you also want to delay actual coding by three months while arguing with your own init.lua.
That’s why kickstart.nvim is the move. It’s a thoughtfully pre-configured setup that gets you a modern, minimal, and powerful Neovim environment right out of the box. You still get the power and flexibility of Neovim, but without the existential crisis of plugin manager choices and keybind philosophy debates. It’s like showing up to a potluck with a gourmet dish… that you didn’t have to cook from scratch.
These extras aren’t necessary—but they’re the kind of polish that turns a good setup into a great one. They’re how you go from “just another developer” to someone who crafts their environment with intention and style.
And that’s all I’ve got to share for now—see you later!