[private] default: @just --list # compile moonlander matej keymap (artifact lands in firmware/) moonlander: make -C qmk_upstream zsa/moonlander:matej QMK_USERSPACE={{justfile_directory()}} mkdir -p firmware mv -f zsa_moonlander_matej.bin firmware/ rm -f qmk_upstream/zsa_moonlander_matej.bin # compile + flash moonlander (polls until keyboard is in DFU mode; -d filter avoids the Cambridge DAC VID:PID collision) flash-moonlander: moonlander until dfu-util -a 0 -d 0483:df11 -s 0x08000000:leave -D firmware/zsa_moonlander_matej.bin >/dev/null 2>&1; do sleep 0.5; done @echo "flashed" # generate compile_commands.json for clangd / LSP compdb: cd qmk_upstream && QMK_USERSPACE={{justfile_directory()}} qmk compile --compiledb -kb zsa/moonlander -km matej # format C/H files in place fmt: git ls-files '*.c' '*.h' | xargs --no-run-if-empty clang-format -i # bump submodule(s) to latest tag bump-qmk submodule="": #!/usr/bin/env bash set -e if [ -z "{{submodule}}" ]; then targets="qmk_upstream qmk_framework" else targets="{{submodule}}" fi for sm in $targets; do old=$(git -C $sm describe --tags --exact-match HEAD 2>/dev/null || git -C $sm rev-parse --short HEAD) git -C $sm fetch --tags --quiet new=$(git -C $sm tag --sort=-creatordate | head -1) git -C $sm checkout --quiet "$new" echo "bumped $sm from $old to $new" done