feat(cli): replace the classic coreutils tools with modern equivalents
Adds Rust/Go replacements for the day-to-day utilities and shadows four of them with aliases. Only read-only commands are shadowed (cat, du, df, ps), so a wrong flag costs a retype rather than data; rm, grep, find and sed keep their originals and the replacements are reached by their own names. The aliases land in .zshrc, so they apply to interactive zsh only -- scripts, `sudo <cmd>` and anything exec'd by another program still get the real binary. New on every host: dust, dysk, procs, trash-cli, doggo, xh, ouch, jnv, hexyl, fq and tealdeer. dysk is used rather than duf, which is unmaintained upstream. git gains difftastic behind a `git dft` alias. diff.external is deliberately left unset so delta remains the renderer for git diff/show and for anything parsing them. The work box gains kubecolor, aliased over kubectl; it wraps the real kubectl and drops colour when stdout is not a terminal, so pipes are unchanged. home/README.md documents the alias map, the flag incompatibilities (including the two that fail silently: dust -s is --apparent-size, and procs reads a bare `aux` as a search keyword) and the rationale for what was left alone.
This commit is contained in:
@@ -180,6 +180,9 @@ automatically.
|
||||
|
||||
- Interactive shell features (zsh, tmux, git, ssh, CLI tools, auto-tmux):
|
||||
[`home/README.md`](./home/README.md).
|
||||
- Which classic utilities are shadowed by modern replacements, and the flag
|
||||
differences that will bite:
|
||||
[`home/README.md` → "Replacing the classics"](./home/README.md#replacing-the-classics).
|
||||
- All Sway / tmux / foot / zsh keyboard shortcuts:
|
||||
[`home/KEYBINDINGS.md`](./home/KEYBINDINGS.md).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user