1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#+TITLE: Modern CLI Tool Replacements — 2026 Evaluation
#+DATE: 2026-06-10
#+DESCRIPTION: Survey of modern Unix-tool replacements; what to adopt, what to skip. Adoption decisions pending.
* Current state
Arch + Hyprland/foot/zsh, Emacs-centric. Already adopted: eza, zoxide, ripgrep, fd,
duf, difftastic, fzf, plus btop (installed already — counts as adopted). bat is in
the repos but not installed. Nothing in the adopted set has been superseded as of
mid-2026; no replacements recommended there.
* Candidates
| tool | replaces | verdict | why | packaging |
|------------+-----------------+-----------+-------------------------------------------------------------+---------------|
| bat | cat/less-ish | adopt | syntax-highlit file views, git diff gutter, fzf previews | extra 0.26.1 |
| dust | du | adopt | instant visual tree of what's eating disk | extra 1.2.4 |
| dua-cli | du/ncdu | optional | interactive variant of the same job; dust covers most of it | extra 2.34.0 |
| hyperfine | time loops | adopt | statistical benchmarking with warmup; ideal for scripts | extra 1.20.0 |
| tealdeer | man (lookup) | adopt | <15ms tldr pages; active releases into 2026 | extra 1.8.1 |
| doggo | dig/dog | adopt | DoH/DoT/DoQ, table output; dog itself is dead (2020) | extra 1.1.7 |
| xh | curl/httpie | optional | httpie syntax, single fast binary; only if you do API work | extra 0.25.3 |
| jless | less+jq viewing | optional | great JSON pager; upstream quiet since ~2023 (fx is active) | extra 0.9.0 |
| sd | sed (simple) | optional | sane find/replace syntax; stable but low-activity upstream | extra 1.1.0 |
| bottom | top | skip | btop already installed and more polished | extra 0.12.3 |
| procs | ps | skip | maintained, but btop + pgrep covers it | extra 0.14.11 |
| yazi | ranger/mc | skip | excellent and very active, but dired owns this workflow | extra 26.5.6 |
| broot | tree/cd-nav | skip | overlaps dired + zoxide + eza --tree | extra 1.57.0 |
| gping | ping | skip | a graph adds little over ping/mtr | extra 1.20.1 |
| choose | cut/awk fields | skip | tiny win; awk muscle memory already there | extra 1.3.7 |
| television | fzf | skip | active and interesting, but no reason to leave fzf | extra 0.15.7 |
| ouch | tar/unzip/etc. | optional | one verb for all archive formats; small quality-of-life win | extra 0.8.0 |
* Top recommendations
- bat — the one gap in the current stack. Highlighted file views with line numbers
and git markers, and it slots straight into fzf preview windows and as a
MANPAGER/git pager. sharkdp maintains it actively (0.26.x, 2026). Works fine in
foot; set BAT_THEME to match the dupre palette once.
- dust — answers "what filled this disk" in one command with a proportional tree,
where du -sh * | sort needs piping and rereading. Complements duf (filesystems)
exactly: duf for mounts, dust for directories.
- hyperfine — statistically sound benchmarking (warmup runs, outlier detection,
comparison mode). Directly useful for timing archsetup script changes and shell
startup (hyperfine 'zsh -i -c exit').
- tealdeer — tldr pages with ~15ms startup, so it's actually faster than recalling
a flag. Active through 2026 (1.8.1, fixes landing Jan 2026). Pairs with man
rather than replacing it.
- doggo — dig with readable output plus DoH/DoT/DoQ support, useful when debugging
resolution across wireguard/tailscale where the resolver path is the question.
The Rust "dog" it descends from is unmaintained since 2020; doggo is the live one.
* Skip list
- bottom/procs — btop is already installed and covers both niches better.
- yazi — superb tool, wrong user: file management lives in dired. (If ever adopted,
previews work in foot via sixel.)
- broot — tree navigation already covered by zoxide + dired + eza --tree.
- gping — novelty over ping/mtr, no daily win.
- choose — not enough over cut/awk to earn a new habit.
- television — fzf is adopted, deeply integrated (zoxide, shell widgets), and still
the ecosystem default; no migration payoff.
- jless — fine to install ad hoc, but upstream is quiescent; fx (v39, active) is the
better bet if JSON browsing becomes frequent.
- sd — works and is stable, but Emacs query-replace + sed cover the use case.
* Sources
- https://github.com/tealdeer-rs/tealdeer
- https://github.com/mr-karan/doggo
- https://github.com/ogham/dog
- https://github.com/aristocratos/btop
- https://github.com/chmln/sd
- https://github.com/PaulJuliusMartinez/jless
- https://github.com/alexpasmantier/television
- https://itsfoss.com/rust-alternative-cli-tools/
- https://sumguy.com/btop-vs-htop-vs-bottom-top-replacements/
- Local verification: pacman -Si on all candidates (all in Arch extra, 2026-06-10)
|