qmk-firmware/util/wsl_install.sh
skullydazed a25dd58bc5
QMK CLI and JSON keymap support (#6176)
* Script to generate keymap.c from JSON file.

* Support for keymap.json

* Add a warning about the keymap.c getting overwritten.

* Fix keymap generating

* Install the python deps

* Flesh out more of the python environment

* Remove defunct json2keymap

* Style everything with yapf

* Polish up python support

* Hide json keymap.c into the .build dir

* Polish up qmk-compile-json

* Make milc work with positional arguments

* Fix a couple small things

* Fix some errors and make the CLI more understandable

* Make the qmk wrapper more robust

* Add basic QMK Doctor

* Clean up docstrings and flesh them out as needed

* remove unused compile_firmware() function
2019-07-15 12:14:27 -07:00

96 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
util_dir=$(dirname "$0")
dir=$(cd -P -- "$util_dir" && pwd -P)
pushd "$dir";
if [[ $dir != /mnt/* ]];
then
echo
echo "You need to clone the qmk_firmware repository outside the linux filesystem."
echo "Otherwise the windows executables can't be run."
exit 1
fi
while true; do
echo
echo "Do you want to install all toolchain dependencies needed for compiling QMK?"
echo "If you don't want that, you can install the dependencies manually."
read -p "(Y/N) " res
case $res in
[Yy]* ) ./linux_install.sh; break;;
[Nn]* ) break;;
* ) echo "Invalid answer";;
esac
done
download_dir=wsl_downloaded
source "$dir/win_shared_install.sh"
pip3 install -r ${util_dir}/../requirements.txt
pushd "$download_dir"
while true; do
echo
echo "Flip need to be installed if you want to use that for programming."
echo "Please install it to the default location!"
read -p "Do you want to install it now? (Y/N) " res
case $res in
[Yy]* ) cmd.exe /c FlipInstaller.exe; break;;
[Nn]* ) break;;
* ) echo "Invalid answer";;
esac
done
popd
echo
echo "Creating a softlink to the utils directory as ~/qmk_utils."
echo "This is needed so that the the make system can find all utils it need."
read -p "Press enter to continue (ctrl-c to abort)"
ln -sfn "$dir" ~/qmk_utils
if grep "^source ~/qmk_utils/activate_wsl.sh$" ~/.bashrc
then
echo
echo "The line source ~/qmk_utils/activate_wsl.sh is already added to your /.bashrc"
echo "Not adding it twice"
else
while true; do
echo
echo "Do you want to add 'source ~/qmk_utils/activate_wsl.sh' to the end of your"
echo ".bashrc file? Without this make won't find the needed utils, so if you don't"
echo "want to do it automatically, then you have to do it manually later."
read -p "(Y/N)? " res
case $res in
[Yy]* ) echo "source ~/qmk_utils/activate_wsl.sh" >> ~/.bashrc; break;;
[Nn]* ) break;;
* ) echo "Invalid answer";;
esac
done
fi
while true; do
echo
echo "Do you want to add a symlink to the QMK repository in your home directory for"
echo "convenience? This will create a folder 'qmk_firmware' in your home directory."
echo "In the future you can use this folder instead of the full path on your Windows"
echo "file system."
read -p "(Y/N)? " res
case $res in
[Yy]* ) ln -sfn "$dir/.." ~/qmk_firmware; break;;
[Nn]* ) break;;
* ) echo "Invalid answer";;
esac
done
echo
echo "******************************************************************************"
echo "Installation completed!"
echo "You need to open a new bash command prompt for all the utils to work properly"
echo "******************************************************************************"
popd > /dev/null