zmk: add setup script

This commit is contained in:
phiwan-dev 2025-07-21 01:43:49 +02:00
parent 9dde7dea7e
commit ce896aa0c8

45
firmware/setup-zmk.sh Executable file
View file

@ -0,0 +1,45 @@
#! /usr/bin/env bash
# clean up any existing containers or volumes
# ignore errors if they do not exist
docker container stop zmk-devcontainer || true
docker container rm zmk-devcontainer || true
docker volume rm zmk-config || true
if [ -d ./zmk ]; then
echo zmk directory already exists, removing it...
sudo rm -rf zmk
fi
git clone https://github.com/zmkfirmware/zmk.git
# add naming the docker container and run it
cp zmk/.devcontainer/devcontainer.json zmk/.devcontainer/devcontainer.json.bak
sed -i 's#"runArgs": \["--security-opt", "label=disable"\],#"runArgs": \["--security-opt", "label=disable", "--name", "zmk-devcontainer"\],#g' zmk/.devcontainer/devcontainer.json
docker volume create --driver local -o o=bind -o type=none -o device="$(pwd)/zmk-config" zmk-config
devcontainer up --workspace-folder ./zmk
devcontainer exec --workspace-folder ./zmk west init -l ./app/
devcontainer exec --workspace-folder ./zmk west update
# create a build scripts for the zmk app
echo "
#! /bin/bash
echo doing a clean build...
(
rm -rf build/
cd app/
west build -p -d build/left -b seeeduino_xiao_ble -- -DSHIELD=phiboard_left -DZMK_CONFIG="/workspaces/zmk-config"
west build -p -d build/right -b seeeduino_xiao_ble -- -DSHIELD=phiboard_right -DZMK_CONFIG="/workspaces/zmk-config"
)
" > zmk/phiboard-build.sh
chmod +x zmk/phiboard-build.sh
echo "
#! /bin/bash
echo doing a successive build...
(
cd app/
west build -d build/left
west build -d build/right
)
" > zmk/phiboard-build-cached.sh
chmod +x zmk/phiboard-build-cached.sh