I have been using my current development workflow for a while now. I think it's been about three years since I first got my Mac and I have been using it since then. I must admit, I got a bit too comfortable. For context, I used to run a Windows + Linux dual setup. I relied on tmux
and neovim
for most of my Linux work and still do when I work on remote servers. For Windows, I relied exclusively on VSCode
and WSL
. I know that I am most productivve on Linux because of the terminal and the tools that I have installed there. Unfortunately, the same can't be said for my Mac. When I made the switch, I immediately recognized the slowdown in my workflow. I tried to replicate my Linux setup on my Mac but it just wasn't the same, so I gave up on the whole idea and continued using a subpar setup for the past three years.
I have been hearing a lot about the latest terminal-based tools that have been coming out recently. Most of them are written in Rust and are blazingly fast. I have been itching to try them out but I didn't want to mess with my current setup. But now, I feel like it's time for a change. I want to incorporate these tools into my workflow and see if they can help me.
Here are the tools that I have been thiking of:
Helix
- A terminal-based text editor similar toneovim
Zellij
- A terminal multiplexer, similar totmux
.Yazi
- A blazing-fast terminal-based file explorerYabai
- A tiling window manager for macOS
And a few more...
I have already setup Yabai
and am in the process of learning its motions. It's a bit different from `i3`, my tiling window manager of choice on Linux, so I suspect that there will be some getting used to.
I have also installed Helix
but I don't plan on daily driving it just yet, since the editor does not have a built-in file explorer. My plan is to use Zellij
and Yazi
to fill in this gap. Once setup, I should be able to switch to a mostly terminal-centric workflow.
Of course, I would want to maintain this configuration across all my devices. I am planning on putting these all under version control and will possibly create a pretty straightforward bash script to install everything on a new machine. People like to use Ansible
for this but I think that would be overkill for my needs. Plus, I don't want to have to learn yet another tool, until it becomes absolutely necessary.
I also got access to an interesting, experimental shell. I cannot share details without the author's permission but I am excited to run it through its paces and see if it has a place in my workflow.
I am excited to try these out and see how they can help me. Stay-tuned for some follow-up posts regarding my findings.