DockerでQMK

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