feat: configure platform-specific trash commands

This commit is contained in:
Konano 2026-09-30 11:53:47 +08:00
parent 6745277d27
commit 48add79ad4
2 changed files with 42 additions and 2 deletions

View File

@ -62,7 +62,6 @@ configure_install_basic() {
[ "$1" != "noupdate" ] && sudo apt-get update
sudo apt-get install tmux git curl htop net-tools tar unzip -y
fi
pip3 install trash-cli --break-system-packages
}
configure_install_useful() {
@ -137,6 +136,45 @@ configure_install() {
configure_install_eza noupdate
}
configure_rm() {
if [ "$(uname)" = "Darwin" ]; then
command_exists trash && return
else
command_exists gtrash && return
fi
[ $offline -eq 1 ] && return
if ! confirm_action "要配置 rm 吗?" "Y"; then
return
fi
if [ "$(uname)" = "Darwin" ]; then
brew install trash
return
fi
local arch=$(uname -m)
case "$arch" in
aarch64) arch="arm64" ;;
i386 | i486 | i586 | i686) arch="i386" ;;
arm64 | x86_64) ;;
*)
echo "gtrash is not supported on $arch."
return 1
;;
esac
pkg_install curl
pkg_install tar
local archive="$tempdir/gtrash.tar.gz"
local extract_dir="$tempdir/gtrash"
mkdir -p "$extract_dir"
curl -fsSL "$github/umlx5h/gtrash/releases/latest/download/gtrash_Linux_${arch}.tar.gz" -o "$archive" || return 1
tar -xzf "$archive" -C "$extract_dir" || return 1
sudo install -m 755 "$extract_dir/gtrash" /usr/local/bin/gtrash
}
configure_nano() {
[ -f ~/.nanorc ] && return
@ -640,6 +678,7 @@ fi
configure_tuna
configure_upgrade
configure_install
configure_rm
configure_nano
configure_vim
configure_zsh

View File

@ -29,10 +29,11 @@ fi
# To make more practice of vim
alias nano='vim' && alias dontwanttousevim='/usr/bin/nano'
command_exists trash-put && alias rm='trash-put' && alias rmrm='/bin/rm'
if [ "$(uname)" = "Darwin" ]; then
command_exists trash && alias rm='trash' && alias rmrm='/bin/rm'
command_exists bat && alias cat='bat'
else
command_exists gtrash && alias rm='gtrash put' && alias rmrm='/bin/rm'
command_exists batcat && alias cat='batcat'
fi
command_exists fdfind && alias fd='fdfind'