My Terminal Stack
Despite all of the advances over the past few years in AI assisted coding environments and IDEs, I am still holding strong using terminal and NeoVim as my primary development environment for my day job and for my side projects.
As somebody who uses every platform including Windows, Linux, and macOS, it is important for me to have a system that works across all platforms consistently. And I think I have finally found it.
Alacritty - the flesh
Alaccritty is a lightweight terminal written in Rust, from the About section of Alacritty.org:
Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration.
Most importantly, for my personal use, I can have the same config for every enviornment and have consistent settings, such as fonts and sizes. Here is my alacritty.toml config file which I use on both Mac and Linux:
[env]
TERM = "xterm-256color"
WINIT_X11_SCALE_FACTOR = "1.0"
[terminal]
osc52 = "CopyPaste"
[window]
padding.x = 5
padding.y = 5
startup_mode = "Maximized"
decorations = "None"
opacity = 1
blur = false
option_as_alt = "Both"
[selection]
save_to_clipboard = true
[font]
normal.family = "JetBrainsMono NFM Medium"
size = 11
[debug]
renderer = "glsl3"
Zellij - the skin
Zellij is a tmux replacement which makes working in the terminal beautiful and efficient. Similar to Alacritty, I have it configured the same to use on different machines, here are some of my customizations in the config.kdl file:
mouse_mode false
copy_command "xclip -selection clipboard" // x11
scrollback_editor "/opt/nvim-linux64/bin/nvim"
// copy_command "pbcopy" // osx
One of my favorite features of Zellij is the ability to scrollback and edit the terminal, this is very useful when using LLMs that return a wall of text and I want to quickly review the output.
Neovim - the brain
Neovim has been my favorite text editor for a long time, and it’s unlikely that I will switch to a full-fledged IDE any time soon, despite all the cool AI features being released. I still find it the most efficient way to write code, and it also includes AI coding plugins such as avante.nvim, which I use to query the Anthropic Claude or Google Gemini APIs. You can read more in my previous post.