Userland

The text tools are Rust uutils rather than GNU coreutils. The interactive shell is zsh with a set of modern replacements wired in as defaults. /bin/sh is dash and behaves the way scripts expect, so nothing you already wrote changes.

zsh — nerv@zgx2
~  uname -sm
Linux aarch64

~  ldd /bin/sh
        /lib/ld-musl-aarch64.so.1 (0x7f9c4a1000)

~  dnf5 --version
5.4.2.1
~  ldd $(command -v dnf5) | grep -c glibc
0

~  nvidia-smi --query-gpu=name --format=csv,noheader
NVIDIA GB10

Replacements

Each of these is the interactive default. The classic tool remains available and is what scripts resolve to.

ClassicDefaultDifference
lsezagit status and tree output
catbatsyntax highlighting, paging
grepripgreprecursive by default, ignore-file aware
findfdshorter invocations, ignore-file aware
cdzoxidejumps by frecency
dudustusage by directory, sorted
dfdufgrouped filesystem summary
topbtopper-core and per-process history
psprocssearch and tree view
diffdeltasyntax-aware side-by-side output
timehyperfinerepeated runs with statistical summaries
historyatuinsearchable history database
sudodoassmaller configuration surface
digdrillDNS lookups
curlxhHTTP requests with a modern CLI
bandwhichbandwidth by process
gpingping plotted over time

Development

neovim with LSP, treesitter and linting configured for Rust, Python and Julia. tmux, git and delta. The hardware and debug set — lspci, lsof, strace, tcpdump, ethtool — is part of the base rather than something you install after the first problem.

podman for containers. CUDA driver, runtime and toolkit are in the image.