Jack

Tools I've Been Enjoying

0 views

Note: Pretty much all of my custom configurations for these tools are available in my macOS dev env repo!

List of Tools

Ghostty

Ghostty is probably the best terminal emulator out there right now. It's ridiculously fast, sticks to proper terminal standards, has a ton of features that don't get in the way, is highly customizable, and it has a great community. I cannot recommend it enough!

Tmux

I don't think Tmux needs any introduction at this point. If you aren't using Tmux in 2025 (or some other multiplexer like zellij), you're probably missing out on a lot of productivity gains. To be fair, Ghostty's native window splitting and tabs are good enough that I probably don't need Tmux anymore, but I'm so used to it now that I don't think I could give it up.

Starship

This is definitely the least necessary element of my setup, but it's still nice to have a purpose-built tool for customizing your shell prompt. It's also lightweight enough that I don't even need to think about it anymore.

Finders: fzf, fd, zoxide

fzf is a CLI fuzzy finder, fd is a fast and user-friendly alternative to find, and zoxide is a fast directory switcher. They all work together to make navigating your filesystem a breeze! I have the following fzf/fd aliases set up to allow for super easy directory switching:

# 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 is an alternative to the cd command that allows you to quickly jump to directories you've visited before. It's fast and efficient, and it's great for navigating your filesystem. Let's say you have a directory you visit frequently, located at /home/user/projects. Once you've "zoxided" it once, you can jump to it again with a shortened path.

# First, cd to the directory you want to zoxide (using `z` instead of `cd`)
    $ z home/user/projects/ 

# Now that path has been saved to zoxide's memory, so you can jump to it again with just `z projects`!
    $ z projects

Zed

I've been using Zed as my IDE for larger or more complex projects. It replaced VS Code entirely for my workflow, as it's just so much faster and more lightweight. Type zed . into your terminal, and Zed will open the current directory in a matter of milliseconds. Its extension ecosystem is obviously nowhere close to that of VS Code, but it's improving steadily. The best parts are the weekly updates it receives, and that I think it has the best vim motion integration of any GUI editor I've used. Highly, highly recommend!

Neovim

Speaking of vim motions... Neovim has been my primary editor for several years now. It's just nice to have a lightweight editor for making small tweaks to files (although my config has gotten powerful enough that I'll happily code entire projects inside of Neovim from start to finish).

You can debate IDEs all you want, but I don't think anyone can argue against vim motions being the best way to traverse and edit text. I think the difficulty of learning vim has been massively overblown, and if you just take it one step at a time, you'll find that it's not as difficult as you might think. Another underappreciated aspect (in my opinion) is just that it makes writing and editing so much more fun. It turns a boring task into a fun challenge of trying to edit your text in as few keystrokes as possible. I promise that once you get the hang of vim motions, you won't want to go back to any other mouse-based editing workflow ever again. I digress.

Like any nvim user, I've spent years honing my configuration to best suit my needs, and I'm incredibly satisfied with what I've ended up with. My config is simple enough that it loads in ~50ms, but it's also powerful enough that I can do almost anything I need to do without leaving the editor. Here are some highlights:

PluginFunction
sainnhe/sonokaiSonokai colour scheme, a personal favourite
williamboman/mason.nvim, neovim/nvim-lspconfigLSP stuff (I still haven't gotten around to migrating to the native nvim 0.11 LSP stuff)
stevearc/oil.nvimMy preferred file explorer system
nvim-telescope/telescope.nvimMy preferred fuzzy finder
ThePrimeagen/harpoonThe name... is the Navigateagen
rebelot/heirline.nvimA super customizable statusline
folke/trouble.nvimGreat error reporting and management
mbbill/undotreeThe best way to undo changes
folke/which-key.nvimBecause I have too many keymaps
eandrju/cellular-automaton.nvimJust for fun :)

I've also got some simple but useful keymaps that I can't live without, such as:

-- 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>]]
)

...and many, many more!

Bruno

I've been liking Bruno for API stuff quite a bit, I just find it easier to use than Postman in most cases, and the git integration really comes in handy. Nothing much else to say here.

Helium

Helium is a super awesome open-source un-Googled Chromium browser. I've been using it for a while now (like, several months before it was formally released), and I think it's my favourite browser at the moment. I was also using Zen for a while and it was nice, but Chromium-based browsers just feel a bit snappier to me. I also vastly prefer their dev tools to the ones in Firefox browsers.

Helium is being very actively developed by a small team (as is Zen), has great privacy features, and none of the bloat of full-on modern Chrome (I mean... even the tab bar has been slimmed down by like 30%). It should also get updated with vertical tabs soon, which I can't wait for! If you want something different from the status quo browsers, definitely check out Helium and/or Zen.

Raycast

The big daddy of all macOS apps, and probably the one thing I can no longer live without. It's genuinely half the reason I bought a MacBook (since the Windows version wasn't announced at the time), and I wrote an entire paper about it for my HCI class.

Raycast genuinely has too many features for me to list here, but here are a few of my favs:

  • Super fast app launcher
  • The best way to do on-the-fly calculations and unit conversions
  • Window management commands
  • Emoji picker (way better than Apple's)
  • Snippets (I especially love dynamic snippets for managing different email addresses)
  • Unlimited clipboard history
  • Aliases for any app/command
  • Great extension ecosystem
  • Quick AI, useful for small questions

I could go on and on, but I'll stop there for your own sanity.

Conclusion

Anyways, those are pretty much all the cool and useful tools I've been using lately. Hopefully you found something useful! I might make another one of these posts in the future for any other tools I find. If you have any suggestions, please reach out, and remember that you can check out my configuration files on my GitHub page.

JD

Nicely done.