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.

77 lines
3.0 KiB

  1. #!/usr/bin/env bash
  2. QMK_FIRMWARE_DIR=$(cd -P -- "$(dirname -- "$0")/.." && 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 "* Then, map your WSL filesystem as a network drive: *"
  53. echo "* \\\\\\\\wsl$\\<distro> *"
  54. echo "********************************************************************************"
  55. echo
  56. fi
  57. ;;
  58. *)
  59. echo "Sorry, we don't recognize your environment. Help us by contributing support!"
  60. echo
  61. echo "https://docs.qmk.fm/#/contributing"
  62. exit 1;;
  63. esac
  64. if type _qmk_install_prepare &>/dev/null; then
  65. _qmk_install_prepare || exit 1
  66. fi
  67. _qmk_install
  68. if type _qmk_install_bootloadhid &>/dev/null; then
  69. _qmk_install_bootloadhid
  70. fi