Zumi's Tool Recommendation List
Random assortment of tools that Zumi uses and recommends trying out.
Command line stuff
Shells
- fish: this one is a no-brainer. Colorful prompt, history search built-in, very extensive auto-complete support for arguments and flags, legible shell scripting language. I use it on all my computers. Bash is so 70s, welcome to 2000s. Some fish plugins that I use:
- Nu: not as a daily use shell, but Nu is a very nice shell scripting language for data processing. Need to do some JSON processing?
file read a.json | filter (.name == "Lux") | to json. - gum: simple CLI to create CLI scripts! Gives some simple way to create beautiful prompts, selects, table formatting...
Dev tools
- fx: very cool interactive JSON viewer. Has tree folding, searching, copy subpart etc. You can just pipe any JSON output into it like
curl https://a.com/b.json | fx - gron: Turns JSON into a line-based syntax that you can
grep(and turn back into JSON) - Github CLI, Gitlab CLI, Gitea/Forgejo CLI: manage repos, issues, PRs from the command line. Most useful commands to me are
gh pr listandgh pr checkout [pr-id].
Special: useful git options
Put these in your git config.
diff.verbose = true: this makesgit commitdisplays the diff of all things you staged below the commit message box. Very useful to have a final look before hitting that commit button.merge.conflictstyle = "zdiff3": usually conflicts look stupid. This would make conflicts show up like this (when you try to merge commitAinto commitB)>>>>> code at commit A .... ===== code before commit A & B .... ===== code at commit B .... <<<<<
You can see easily what changed in A (look middle -> top) and what changed in B (look middle -> bottom).
Set up delta, gives you
git diffwith syntax highlighting and line numbers etc.
Life in the terminal
- glow: simple CLI markdown viewer. Supports a lot of extensions, comes with syntax highlighting etc.
- broot: interactive version of
tree. View the file list in a (collapsible) tree form, perform fuzzy search, etc.
Terminal Emulator
I use kitty and ghostty.
- ghostty: yummy fast emulator. Quite simple configuration, it's also super fast.
- kitty: super feature-rich emulator. Has lots of configuration. Not as fast as ghostty but still should beat all default ones.
Basic tool replacements
- ripgrep / rg: ultra-fast version of
grepthat also does "mostly the right thing" with no arguments. By defaultrg [pattern]would grep all lines matching the pattern from all files in the current directory -- excluding files ignored bygit. Some useful flags to memorize:-ifor case-insensitive,-Ffor "no-regex, match-string-literally mode" - sd: extremely simple replacement of
sed.sd [pattern] [replacement] [files...]will replace all instances ofpatternwithreplacementin given files. Regex is supported of course (-Fis a thing too). Also works as a pipe:cat a.txt | sd x y. No more fiddling withsed. - ouch: universal command-line tool for all archives.
ouch d [file]will decompress a file, no matter whether it'szip,rar,tar.gzetc. - bat:
catwith syntax highlighting. Automatically disable all fancy stuff if you use it has a pipe, so usually I just aliascatto it:alias cat=bat.
GUI Stuff
Mostly Linux stuff here. Windows shoo
Audio
- qpwgraph: GUI for the Pipewire system. Lets you mix and re-route audio from app to app, from app to specific speakers, from specific microphone to specific app, ...
Internet
- Zen Browser: beautiful fork of Firefox with vertical tabs.
- deluge: torrent client that can run as a system service with a web server that you can remote control.
