Commit 0368e4

2026-02-13 17:45:32 Zumi Zoom: mkpage
/dev/null .. tech/linux/zumi's tool recommendation list.md
@@ 0,0 1,73 @@
+ # Zumi's Tool Recommendation List
+
+ Random assortment of tools that Zumi uses and recommends trying out.
+
+ ## Command line stuff
+
+ ### Shells
+
+ - [fish](https://fishshell.com/): 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:
+ - [tide](https://github.com/IlanCosman/tide): beautiful status prompt (click to see)
+ - [fzf.fish](https://github.com/PatrickF1/fzf.fish): Fish has `fzf` integration built-in for paths, but this plugin extends it with various stuff (search by file content, search history, file previews...)
+ - [Nu](https://www.nushell.sh/): 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](https://github.com/charmbracelet/gum): simple CLI to create CLI scripts! Gives some simple way to create beautiful prompts, selects, table formatting...
+
+ ### Dev tools
+
+ - [fx](https://fx.wtf/): 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](https://github.com/tomnomnom/gron): Turns JSON into a line-based syntax that you can `grep` (and turn back into JSON)
+ - [Github CLI](https://cli.github.com/), [Gitlab CLI](https://docs.gitlab.com/cli/), [Gitea/Forgejo CLI](https://codeberg.org/forgejo-contrib/forgejo-cli): manage repos, issues, PRs from the command line. Most useful commands to me are `gh pr list` and `gh pr checkout [pr-id]`.
+
+ #### Special: useful `git` options
+
+ Put these in your `git config`.
+
+ - `diff.verbose = true` : this makes `git commit` displays 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 commit `A` into commit `B`)
+ ```
+ >>>>> 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](https://github.com/dandavison/delta), gives you `git diff` with syntax highlighting and line numbers etc.
+
+ ### Life in the terminal
+
+ - [glow](https://github.com/charmbracelet/glow): simple CLI markdown viewer. Supports a lot of extensions, comes with syntax highlighting etc.
+ - [broot](https://github.com/Canop/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](https://ghostty.org/): yummy fast emulator. Quite simple configuration, it's also super fast.
+ - [kitty](https://sw.kovidgoyal.net/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](https://github.com/BurntSushi/ripgrep): ultra-fast version of `grep` that also does "mostly the right thing" with no arguments. By default `rg [pattern]` would grep all lines matching the pattern from all files in the current directory -- excluding files ignored by `git`.
+ Some useful flags to memorize: `-i` for case-insensitive, `-F` for "no-regex, match-string-literally mode"
+ - [sd](https://github.com/chmln/sd): extremely simple replacement of `sed`.
+ `sd [pattern] [replacement] [files...]` will replace all instances of `pattern` with `replacement` in given files. Regex is supported of course (`-F` is a thing too). Also works as a pipe: `cat a.txt | sd x y`. No more fiddling with `sed`.
+ - [ouch](https://github.com/ouch-org/ouch): universal command-line tool for all archives. `ouch d [file]` will decompress a file, no matter whether it's `zip`, `rar`, `tar.gz` etc.
+ - [bat](https://github.com/sharkdp/bat): `cat` with syntax highlighting. Automatically disable all fancy stuff if you use it has a pipe, so usually I just alias `cat` to it: `alias cat=bat`.
+
+ ## GUI Stuff
+
+ Mostly Linux stuff here. Windows shoo
+
+ ### Audio
+
+ - [qpwgraph](https://github.com/rncbc/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](https://zen-browser.app/): beautiful fork of Firefox with vertical tabs.
+ - [deluge](https://deluge-torrent.org/): torrent client that can run as a system service with a web server that you can remote control.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9