biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / misc / qmk / default.nix
blobc550d765388725e139aa22212e29bd533251c9df
1 { lib
2 , python3
3 , fetchPypi
4 , pkgsCross
5 , avrdude
6 , dfu-programmer
7 , dfu-util
8 , wb32-dfu-updater
9 , gcc-arm-embedded
10 , gnumake
11 , teensy-loader-cli
14 python3.pkgs.buildPythonApplication rec {
15   pname = "qmk";
16   version = "1.1.5";
17   format = "pyproject";
19   src = fetchPypi {
20     inherit pname version;
21     hash = "sha256-Lv48dSIwxrokuHGcO26FpWRL+PfQ3SN3V+2pt7fmCxE=";
22   };
24   nativeBuildInputs = with python3.pkgs; [
25     setuptools
26   ];
28   propagatedBuildInputs = with python3.pkgs; [
29     dotty-dict
30     hid
31     hjson
32     jsonschema
33     milc
34     pygments
35     pyserial
36     pyusb
37     pillow
38   ] ++ [ # Binaries need to be in the path so this is in propagatedBuildInputs
39     avrdude
40     dfu-programmer
41     dfu-util
42     wb32-dfu-updater
43     teensy-loader-cli
44     gcc-arm-embedded
45     gnumake
46     pkgsCross.avr.buildPackages.binutils
47     pkgsCross.avr.buildPackages.binutils.bintools
48     pkgsCross.avr.buildPackages.gcc8
49     pkgsCross.avr.libcCross
50   ];
52   # no tests implemented
53   doCheck = false;
55   meta = with lib; {
56     homepage = "https://github.com/qmk/qmk_cli";
57     description = "Program to help users work with QMK Firmware";
58     longDescription = ''
59       qmk_cli is a companion tool to QMK firmware. With it, you can:
61       - Interact with your qmk_firmware tree from any location
62       - Use qmk clone to pull down anyone's qmk_firmware fork
63       - Setup and work with your build environment:
64         - qmk setup
65         - qmk doctor
66         - qmk compile
67         - qmk console
68         - qmk flash
69         - qmk lint
70       - ... and many more!
71     '';
72     license = licenses.mit;
73     maintainers = with maintainers; [ bhipple ekleog ];
74     mainProgram = "qmk";
75   };