Tools I've been enjoying
Update, February 8, 2026. This list is outdated. I'm working on a new post, but my current configuration is already in the powerbook repo.
The list
- Terminal emulator: Ghostty
- Main IDE: Zed
- Editor: Neovim
- API testing: Bruno
- Browser: Helium
- General macOS utility: Raycast
Ghostty
Ghostty is my favourite terminal emulator right now. It starts quickly, follows terminal standards, and gives me tabs and splits without turning its configuration into a second hobby.
Tmux
I've been using Ghostty's own splits and tabs more often, and I may prefer them to Tmux now. Tmux is still worth learning if you work on remote machines or want sessions that survive a dropped connection.
Starship
Starship is the least necessary part of this setup. It gives me a useful prompt, takes little work to maintain, and stays out of my way.
fzf, fd, and zoxide
fzf is a command-line fuzzy finder, fd is a friendlier alternative to find, and zoxide remembers directories I visit. These aliases combine fzf and fd for file and directory selection:
# Open a file chosen via fzf in a tmux popup.
alias ff='nvim "$(fd --type f --hidden --exclude .git | fzf-tmux -p)"'
# Fuzzy cd into a directory
alias dff='cd "$(fd --type directory --hidden --exclude .git | fzf-tmux -p)"'
zoxide replaces most of my longer cd commands. After I visit /home/user/projects once, I can return by typing z projects:
# Visit a directory with z instead of cd.
$ z home/user/projects/
# Jump back using part of its path.
$ z projects
Zed
I use Zed as my IDE for larger projects. It replaced VS Code in my workflow because it launches faster and uses fewer resources. zed . opens the current directory, which makes it easy to move from the terminal into the editor. Its extension catalogue is smaller than VS Code's, but its Vim motions are the best I've used in a GUI editor.
Neovim
Neovim has been my primary editor for several years. It is handy for quick changes, but my configuration can also carry an entire project.
Vim motions are still my favourite way to edit text. The learning curve is real, but people overstate it. Learn a few motions at a time and they become muscle memory. They also make editing fun. I still catch myself trying to complete a change in fewer keystrokes, which is deeply nerdy and genuinely satisfying.
Like any Neovim user, I've spent years fiddling with my configuration. It now starts in about 50 ms and handles most of my work without sending me back to another app. These are the plugins I rely on:
| Plugin | Function |
|---|---|
| sainnhe/sonokai | Sonokai colour scheme, a personal favourite |
| williamboman/mason.nvim, neovim/nvim-lspconfig | LSP configuration. I still need to migrate to Neovim 0.11's native setup. |
| stevearc/oil.nvim | File explorer |
| nvim-telescope/telescope.nvim | Fuzzy finder |
| ThePrimeagen/harpoon | The name... is the Navigateagen |
| rebelot/heirline.nvim | Customizable statusline |
| folke/trouble.nvim | Diagnostics list and navigation |
| mbbill/undotree | Visual undo history |
| folke/which-key.nvim | Because I have too many keymaps |
| eandrju/cellular-automaton.nvim | Just for fun :) |
These are three small keymaps I use constantly:
-- Move selected lines with shift+j or shift+k
map("v", "J", ":m '>+1<CR>gv=gv")
map("v", "K", ":m '<-2<CR>gv=gv")
-- Copy to system clipboard
map({ "n", "v" }, "<leader>y", [["+y]])
map("n", "<leader>Y", [["+Y]])
-- Search and replace current position word
map(
"n",
"<leader>s",
[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]
)
There are plenty more, but those three earn their keep every day.
Bruno
I use Bruno for API testing because I find it simpler than Postman. It stores collections as plain files, so they fit into Git without a separate export step. That's the whole pitch, and it is enough for me.
Helium
Helium is an open-source browser based on un-Googled Chromium. I used it for a really long time now (since several months before its formal release), and it is now my favourite browser. Zen was good too, but Chromium feels faster on my machine and I prefer its developer tools.
Helium's small team ships updates often. The browser removes much of Chrome's clutter, even shrinking the tab bar, and vertical tabs are on the way. If Chrome feels bloated but Firefox is not for you, Helium and Zen are both worth a look.
Raycast
Raycast is the macOS app I would miss most. It was half the reason I bought a MacBook, back before the Windows version was announced, and I wrote an entire HCI paper about it.
I use it for:
- Launching apps
- Calculations and unit conversions
- Window management commands
- An emoji picker that I prefer to Apple's
- Dynamic snippets for managing different email addresses
- Unlimited clipboard history
- Aliases for any app/command
- Extensions
- Quick AI questions
Most of those jobs used to belong to separate apps. Raycast puts them behind one keyboard shortcut.
What survived the list
That is my setup as of November 2025. Neovim, Ghostty, and Raycast are the tools I would notice missing first. My configuration files live on GitHub if you want the details.