One can use custom viewers via core.pager and interactive.diffFilter in git configuration, not to mention defining custom difftools directly.
I primarily use delta for this (sometimes packaged as git-delta), which itself is implemented in Rust too.
For example, save this as a script called delta-s somewhere in $PATH:
#!/bin/bash
delta -s \
--minus-style='syntax #400000' \
--plus-style='syntax #004000' \
--minus-emph-style='normal #a00000' \
--plus-emph-style='normal #00a000' \
--line-buffer-size=48 \
--max-line-distance=0.8 $@
Then, in ~/.gitconfig, add
[difftool "d-sbs"]
cmd = diff -u $LOCAL $REMOTE | delta-s
And the you can just
git difftool --tool d-sbs HEAD~
You can further create an alias for that too of course.