Parent directory

qmk_install.sh

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