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はだいたい最新になるので楽です。