You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.8 KiB

  1. #!/usr/bin/env bash
  2. QMK_FIRMWARE_DIR=$(cd -P -- "$(dirname -- "$0")/.." >/dev/null && pwd -P)
  3. QMK_FIRMWARE_UTIL_DIR=$QMK_FIRMWARE_DIR/util
  4. if [ "$1" = "-y" ]; then
  5. SKIP_PROMPT='-y'
  6. MSYS2_CONFIRM='--noconfirm'
  7. else
  8. SKIP_PROMPT=''
  9. MSYS2_CONFIRM=''
  10. fi
  11. case $(uname -a) in
  12. *Darwin*)
  13. . "$QMK_FIRMWARE_UTIL_DIR/install/macos.sh";;
  14. *FreeBSD*)
  15. . "$QMK_FIRMWARE_UTIL_DIR/install/freebsd.sh";;
  16. *MINGW64_NT*)
  17. . "$QMK_FIRMWARE_UTIL_DIR/install/msys2.sh";;
  18. *MSYS_NT*|*MINGW32_NT*)
  19. echo "Please open a MinGW64 terminal window and re-run this script."
  20. exit 1;;
  21. *Linux*)
  22. . "$QMK_FIRMWARE_UTIL_DIR/install/linux_shared.sh"
  23. case $(grep ID /etc/os-release) in
  24. *arch*|*manjaro*)
  25. . "$QMK_FIRMWARE_UTIL_DIR/install/arch.sh";;
  26. *debian*|*ubuntu*)
  27. . "$QMK_FIRMWARE_UTIL_DIR/install/debian.sh";;
  28. *fedora*)
  29. . "$QMK_FIRMWARE_UTIL_DIR/install/fedora.sh";;
  30. *gentoo*)
  31. . "$QMK_FIRMWARE_UTIL_DIR/install/gentoo.sh";;
  32. *slackware*)
  33. . "$QMK_FIRMWARE_UTIL_DIR/install/slackware.sh";;
  34. *solus*)
  35. . "$QMK_FIRMWARE_UTIL_DIR/install/solus.sh";;
  36. *void*)
  37. . "$QMK_FIRMWARE_UTIL_DIR/install/void.sh";;
  38. *)
  39. echo "Sorry, we don't recognize your distribution. Try using the docker image instead:"
  40. echo
  41. echo "https://docs.qmk.fm/#/getting_started_docker"
  42. exit 1;;
  43. esac
  44. if uname -a | grep -qi microsoft; then
  45. echo "********************************************************************************"
  46. echo "* Detected Windows Subsystem for Linux. *"
  47. echo "* Currently, WSL has no access to USB devices and so flashing from within the *"
  48. echo "* WSL terminal will not work. *"
  49. echo "* *"
  50. echo "* Please install the QMK Toolbox instead: *"
  51. echo "* https://github.com/qmk/qmk_toolbox/releases *"
  52. echo "********************************************************************************"
  53. echo
  54. fi
  55. ;;
  56. *)
  57. echo "Sorry, we don't recognize your environment. Help us by contributing support!"
  58. echo
  59. echo "https://docs.qmk.fm/#/contributing"
  60. exit 1;;
  61. esac
  62. if type _qmk_install_prepare &>/dev/null; then
  63. _qmk_install_prepare || exit 1
  64. fi
  65. _qmk_install
  66. if type _qmk_install_bootloadhid &>/dev/null; then
  67. _qmk_install_bootloadhid
  68. fi