Upgrading my WSL with Zsh and better tools
Fsf, Tabby, Lsd, bat and more
After 15 years with Apple I left my iMac Pro behind and had switched to Windows some years ago. The reason pre-M1 was mainly because I wanted to run some local AI models and needed a powerful GPU to do so, my eGPU experiments had failed (and I need Affinity and PowerPoint, so no Linux for me. I gave up dual booting after some time).
Luckily - although some parts of Windows are really annoying, settings for example, or bluetooth headsets - there is not too much difference to me, mainly because:
Me OSX: Zsh-Obsidian-Goland-Affinity-PowerPoint-FF
Me Windows: Zsh-Obsidian-Goland-Affinity-PowerPoint-FF
WSL has been working for me for some time now, but it was time to upgrade my shell.
Following some guides, I came up with:
- Tabby for a better terminal - WSL had some problems with Nerdfonts for me, and CTRL-Space to get Tabby to the front is a really useful and nice feature
- lsd for better ls - the icons are nice, and the colors, mostly for the type and age of files
- bat for an excellent
cat
replacement with syntax highlighting - I love this so much, how could I have lived with cat for 30 years with no syntax highlighting and nice line numbers? And it just works, acting as a simplecat
if needed, showing its power when it can - fzf for fuzzy search - a lot has been said about this before, itβs a game changer to find a file or directory based on realtime search
- zoxide for a better cd - it remembers all directories, instead of
cd ..\..\a\b\c
you just typecd c
. Together with zsh history autocompletion even stronger - zsh and oh my zsh with plugins - autocompletion, better history plugins, syntax highlighting. The problem I had in the past with oh-my-zsh, long startup times, is gone. But it frightens you when your shell has a profiler to profile startup times.
- topgrade to update all my coding environments at once - very nice, especially the upgrade of all #Golang and #Rust shell commands I use in development, like
air
. Before topgrade I did not upgrade them at all. - broot for browsing directories - an alternative to
fzf
if you donβt remember the directory name - fd for find - Working with
find
for 30 years, never very happy, fd just works and is faaaaaaast - difftastic for syntactic diffs - Looking for a better diff since years, tried this and that, for now this is my default shell diff (not the UI one)
I wonder now which of these do I need on my Linux production servers. Or does that make them insecure?
Overall very happy now. Colorful, but I like colors. The reason I did like my Amstrad CPC more than C64s was the colors even forty years ago.