sm.sh 986 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env bash
  2. BINARY_NAME="sm"
  3. TARGET_DIR="$HOME/.local/bin"
  4. BINARY_PATH="$TARGET_DIR/$BINARY_NAME"
  5. SUBLIME_DIR="$TARGET_DIR/sublime_merge"
  6. if [ ! -x "$BINARY_PATH" ]; then
  7. notify-send "📦 Installing $BINARY_NAME" "Downloading Sublime Merge..."
  8. mkdir -p "$TARGET_DIR"
  9. URL=$(curl -s "https://www.sublimemerge.com/download_thanks?target=x64-tar" | grep -oP 'https://download.sublimetext.com/sublime_merge_build_\d+_x64.tar.xz' | head -n 1)
  10. VERSION=$(echo "$URL" | grep -oP '\d+' | head -n 1)
  11. FILENAME="sublime_merge_build_${VERSION}_x64.tar.xz"
  12. cd "$TARGET_DIR"
  13. if [ ! -f "$FILENAME" ]; then
  14. wget -q "$URL" || {
  15. notify-send -u critical "Installation Failed" "Failed to download $BINARY_NAME"
  16. exit 1
  17. }
  18. tar -xf "$FILENAME"
  19. fi
  20. if [ ! -f "$BINARY_PATH" ]; then
  21. ln -s "$SUBLIME_DIR/sublime_merge" "$BINARY_PATH"
  22. fi
  23. notify-send "Installation Complete" "$BINARY_NAME has been installed successfully"
  24. fi
  25. exec "$BINARY_PATH" "$@"