Files
Move/scripts/uninstall.sh
T
nokeo08 c9645b374c Move installer scripts into scripts/ directory
- install.sh, uninstall.sh, dev-setup.sh now live under scripts/.
- dev-setup.sh's 'cd $(dirname $0)' updated to '.../..' so it lands
  at the repo root regardless of CWD.
- README install/uninstall curl URLs now reference scripts/<name>.sh.
- README contributor section and Files table updated to match.

Behavior is unchanged. The curl one-liner URL changes from
.../master/install.sh to .../master/scripts/install.sh; users following
the pre-v1.0.2 README will get a 404 from the old URL.
2026-06-17 12:17:32 -05:00

57 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env sh
#
# uninstall.sh - End-user uninstaller for the `move` CLI.
#
# Curl-pipe ready:
#
# curl -fsSL https://gitea.cahlen.com/nokeo08/Move/raw/branch/master/uninstall.sh | sh
#
# Removes the `move` wrapper from $XDG_BIN_HOME and the install tree from
# $XDG_DATA_HOME/move. Does NOT remove Bun — that's your runtime, not ours.
#
# Env vars (must match what install.sh used):
# XDG_DATA_HOME Source install root (default $HOME/.local/share).
# XDG_BIN_HOME Wrapper install root (default $HOME/.local/bin).
#
# POSIX sh; no bashisms.
set -eu
INSTALL_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/move"
BIN_DIR="${XDG_BIN_HOME:-$HOME/.local/bin}"
WRAPPER="$BIN_DIR/move"
die() {
printf 'Error: %s\n' "$1" >&2
exit 1
}
# Same safety guard as install.sh: refuse to wipe a directory that points
# somewhere catastrophic.
case "$INSTALL_DIR" in
'' | '/' | "$HOME" | "$HOME/" | '/move')
die "refusing to operate on INSTALL_DIR='$INSTALL_DIR' (too broad)"
;;
esac
REMOVED_SOMETHING=0
if [ -e "$WRAPPER" ] || [ -L "$WRAPPER" ]; then
rm -f "$WRAPPER"
printf 'Removed %s\n' "$WRAPPER"
REMOVED_SOMETHING=1
fi
if [ -d "$INSTALL_DIR" ]; then
rm -rf "$INSTALL_DIR"
printf 'Removed %s\n' "$INSTALL_DIR"
REMOVED_SOMETHING=1
fi
if [ "$REMOVED_SOMETHING" = "0" ]; then
printf 'Nothing to remove. Checked %s and %s.\n' "$WRAPPER" "$INSTALL_DIR"
exit 0
fi
printf '\nUninstalled. (Bun was not touched.)\n'