↖
Here is a curated list of tools that I cannot live without, after many iterations (last update is July, 15th 2025). Working on Linux and Windows, I try to use cross-platform tools.
Must-have
Daily usage:
- ghostty
as a young but promising terminal written in Zig. For a terminal that also works on Windows, see alacritty
with a multiplexer like zellij.
- nushell
offers a refreshing take on a modern terminal: everything is a table! You can open JSON, XML, SQLite.. with the same interface. This makes scripting actually fun. Its community has been steadily increasing and tools supporting nushell have grown. Honorable mention for fish
(not available on Windows).
- helix
as an modal editor with batteries included. Keybindings are a bit different from ViM: here you select first, then act on it. I like the fact there's no need for a plugin manager. The drawback is your workflow may not be supported as plugins aren't available yet.
- taskwarrior
for complex task management for non Org-mode users or todo.txt
for a lighter alternative. More on that in a future post.
- jj
has replaced
git
in my workflow (jj is compatible with git though). But there are nice TUI interfaces with git worth mentioning : lazygit
- yazi
a life-changing file manager. Can be integrated with helix
- zoxide
is fantastic for moving around quickly in the shell. For example,
z boo
jumps to book, instead of typing cd home/user/misc/books. A must have.
- ripgrep
is a modern
grep
but cross-platform and faster.
- atuin
is a better shell history by storing it in a database. It makes it easy to search and even sync across machines.
Often used:
- typst
for writing papers and reports.
- chezmoi
to manage dotfiles.
Occasional use
- zola
for blogging or, if you like living on the edge zine, a fresh take on static blog managers written in Zig.
- mdBook
is my go-to way of generating documentation. Theme is very readable and setup is reasonably fast.
- Replacement of
find, ls
and cat
in Rust:
- fd
has an easier syntax than
find. For example, convert all org files to markdown with
fd -e md -x pandoc {} -o {.}.md
- sd
also offers a simpler way to replace text with
sd. Example: replace title:
by title =:
sd 'title:' 'title = '
- eza
can replace
ls
- bat
is more colorful than
cat
- see also
bottom
for htop and procs
for ps
Tools that I no longer use
These may be of interest to other people but these have been superseded in my workflow.
- pier
serves as a database for your one-liners. This has been replaced by atuin scripts, recently released.
Inspiration
Several ideas came from awesome cli apps list on github. See also other tools written in Rust