My current oxidised toolkit (Patreon)
Content
Hi folks, It's been a bit over 2 years since my Oxidise your Command Line video, and as people ask for updates now and then, I thought I'd finally make a post.
(Video coming very soon, hopefully before RustWeek 2025, which I'm attending next week!)
This patron-only update is to thank you for supporting me! :-)
Standard Tools
The tools I've replaced with modern oxidised versions
Uutils (rust)
A REPLACEMENT FOR ALL GNU COREUTILS
Using the nixos uutils-coreutils-noprefix package, all gnu coreutils are swapped out for aliases to uutils' version
If you're on any other operating system - INCLUDING WINDOWS - you can grab the binary from https://github.com/uutils/coreutils or find it packaged for your package manager
Only do this if you want to be the life of every party, and for every day to be a party
Fish (rust)
The Rust rewrite released in February! https://fishshell.com/blog/new-in-40/)
though a non-standard shell (you wouldn't write shell scripts in it), it's lovely for interactive use
batteries included, even a web-based theme chooser - feels like running other shells with loads of plugins
finally, a shell for the 90s!
Honourable mention: Nushell, a pure rust radical take on what a shell can do
Du-dust (rust)
graphical disk usage analyser
On my machine, 600GB analysed in 2 seconds, compared to 30 for du
Ripgrep (rust)
the first rust program I ever knowingly used, I think!
the fastest grepper in town
has a smart defaults that ignore many files we aren't usually concerned with, even reads the .gitignore file to do so
searches 600GB in 1 minute even on my mid-tier thinkpad, only double what du did
Fd (rust)
a fast, pretty, drop-in replacement for find
bat (rust)
the cat with wings!
syntax highlighting of basically every file type
alias cat=bat
Zoxide (rust)
alias cd=zoxide for a drop-in replacement
but it also knows where you've been, so instead of typing cd /home/username/projects/coolproject/ you can type cd coolproject from anywhere, and it'll usually do what you want
Eza (rust)
Alias ls=eza and you get a drop-in replacement that supports colours and git status
fork of exa, which stopped being developed in 2021
Xh (rust)
A simpler interface than curl
with pretty-printed output
a rust rewrite of the excellent httpie
Zellij (rust)
tmux/screen replacement
great defaults, great UI, great plugin community
Gitui (rust)
nice rust port of lazygit (go), which is also a great option
At the moment I also have an alias set up to commit with meteor (go), which interactively coaches me into writing better git commits in a standard format.
a great alternative to `git commit -am 'updates'
Jj (rust)
This might also be in my future, but you never know with a google project...
Non-standard Cli Tools
I recommend these to anyone because they're COOL!
starship.rs (rust)
A really fast informative shell prompt, works with all shells
Yazi (rust)
the best command-line file manager I've found
it's like ranger but modern
fast, and backgrounds long operations (like copying large files)
vim bindings
IMAGE PREVIEW (if used with kitty, ghostty, etc)
Hyperfine (rust)
genius cli benchmarking tool
runs the command a sensible number of times to eliminate run-to-run variance, with an initial discarded run to warm up any caches
Evil-helix (rust)
a fork of helix, mostly putting the keyboard bindings back to vim
helix is a batteries-included vim-y editor in a single binary, but with backwards keybindings by default
I keep it around for when I break my vim config...
Non-rust Tools that Are Awesome
(but I'd love you to tell me that there are rust rewrites!)
Tmate (c)
tmux fork that instantly share a terminal session with someone by ssh or web
tmate.io run an intermediary server so you don't need to faff with firewall settings
if I'm pairing with my mentees, this is what we use to run cargo bacon etc
Kitty (go)
(or if you prefer more GUI, ghostty, written in zig)
GPU accelerated terminal
IMAGE SUPPORT
used by in yazi and the image.nvim plugin
Fzf (go)
fzf fuzzy finds files so fast it doesn't need to build an index
used as a backend for many programs (like my fav neovim distro, lazynvim.org)
on my mid-tier thinkpad, searches ~100k files/s
skim (rust) might be a good interactive replacement, but I would still keep fzf around for use by other tools
Jq (c)
pretty-print and query json
What am I missing?!
Thank you so much again for your support,
Tris