QMKをdockerで使うと、環境構築やQMKの更新自体を気にしなくてよくなるのでおすすめです。 QMKにはDockerfileが付属していますが、QMK自身はローカルにcloneしたものを使うので、QMKの更新が必要です。 それは面倒なので、QMKが入っているdockerイメージを使います。
docker-compose.yaml
services:
compile:
image: jonz94/qmk_firmware
working_dir: /qmk_firmware
volumes:
- ${QMK_USERSPACE}/keyboards:/qmk_firmware/keyboards/ext
- ${QMK_USERSPACE}:/qmk_userspace
- ./.build:/qmk_firmware/.build
environment:
QMK_USERSPACE: /qmk_userspace
command: /bin/bash -c 'qmk compile -kb $$KEYBOARD -km $$KEYMAP'
自分のキーボード定義、キーマップはqmk_userspaceにおきます。 .envで場所を指定しておきます。
QMK_USERSPACE=/home/foo/develop/qmk_userspace
docker compose run --rm -e KEYBOARD=ext/eswai/x60 -e KEYMAP=naginata_v15y compile
jonz94/qmk_firmwareはだいたい月1で更新されているので、docker compose pullすればQMKはだいたい最新になるので楽です。