I have finalized the packaging of qmk cli. It is available in unstable, and should soon be available in testing (trixie).
# apt install qmk
$ qmk
usage: qmk […]
cli wrapper for running qmk commands.
[…]
qmk_cli is a program that helps interact with the qmk_firmware repository. It is used to build and upload custom keyboard firmware.
Rationale for packaging qmk for Debian
The qmk CLI can already be installed easily using pip install qmk, so why make it into a package?
The qmk CLI depends on system packages to be able to compile the keyboard firmware, and these dependencies cannot be listed as Python dependencies nor installed via pip. This is the reason why the upstream qmk project generates Debian packages and provides them into a custom package repository.
Here is a sample of the runtime dependencies shipped with qmk in order to compile firmware:
Package: qmk
Architecture: all
[…]
Recommends:
[…],
avr-libc,
avrdude,
binutils-arm-none-eabi,
binutils-avr,
build-essential,
clang-format,
dfu-programmer,
dfu-util,
diffutils,
gcc,
gcc-arm-none-eabi,
gcc-avr,
[…],
You can see that some ARM and AVR compilers are required depending on the target keyboard model.