These are mostly coloured by personal tastes and are mostly a bunch of terminal apps that makes one’s terminal experience better. For folks that want a better understanding of how terminal works, there is nice introduction here.
It is a good idea to use a .dotfiles folder to house all the specific config options. If you make this into a git-tracked repo, you can use different branches for each of the machines that you use.
Hightly customisable, but is very minimal out of the box (think not even a menu); say goodbye to native tabs and windows. Alacritty is supposed to be the fastest terminal emulator out there. So if you care about those milli-seconds, then this should be your terminal app of choice. I hear good things about Ghostty in case you want an app with more bells and whistles.
This should be the default shell on every single machine out there. You are already using Zsh if you are on a Mac and almost all HPC clusters now lets you use Zsh as the default shell (send an email to the administrator if you are stuck with bash). In case Zsh is not available, you can always install it locally and trigger it via your bashrc.
Loads of plugins that supercharge the Zsh defaults. You can also enable vim-motions to move around your comands.
Let’s you do all the fancy multi-tabs, multi-splits, multi-windows for your terminal. I think Alacritty is meant to be used with tmux. I have my setup such that Alacritty always launch with tmux. Tmux also has bunch of plugins, such as tmux-resurrect.
Sane defaults for tmux.
Better terminal prompts.
Neovim takes and improved all the good bits of Vim. You can finally use a mouse (not that you should), though I am pretty sure you could do that in Vim as well. I also use the LazyVim setup. Dusty Phillips’s book on LazyVim is a great resource.
Extremely useful for everything git related. Makes merges and rebases a lot more fun.
Better ls.
Highly recommended alternative to the cd command. As long as you know a bit of your target directory’s path, you can reach there.