summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/misc/qmk_firmware/default.nix27
-rw-r--r--pkgs/top-level/all-packages.nix7
2 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/development/misc/qmk_firmware/default.nix b/pkgs/development/misc/qmk_firmware/default.nix
new file mode 100644
index 000000000000..0a7b4fd9d9a7
--- /dev/null
+++ b/pkgs/development/misc/qmk_firmware/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub
+, avrgcc, avrbinutils
+, gcc-arm-embedded, binutils-arm-embedded
+, teensy-loader-cli, dfu-programmer, dfu-util }:
+
+let version = "0.6.144";
+
+in stdenv.mkDerivation {
+  name = "qmk_firmware-${version}";
+  src = fetchFromGitHub {
+    owner = "qmk";
+    repo = "qmk_firmware";
+    rev = version;
+    sha256 = "0m71f9w32ksqjkrwhqwhr74q5v3pr38bihjyb9ks0k5id0inhrjn";
+    fetchSubmodules = true;
+  };
+  buildFlags = "all:default";
+  NIX_CFLAGS_COMPILE = "-Wno-error";
+  nativeBuildInputs = [
+    avrgcc
+    avrbinutils
+    gcc-arm-embedded
+    teensy-loader-cli
+    dfu-programmer
+    dfu-util
+  ];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 18850ea49cfb..138e2f5e44a9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -22817,6 +22817,13 @@ with pkgs;
 
   tsung = callPackage ../applications/networking/tsung {};
 
+  qmk_firmware = callPackage ../development/misc/qmk_firmware {
+    avrgcc = pkgsCross.avr.buildPackages.gcc;
+    avrbinutils = pkgsCross.avr.buildPackages.binutils;
+    gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
+    binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
+  };
+
   newlib = callPackage ../development/misc/newlib { };
   newlibCross = callPackage ../development/misc/newlib {
     stdenv = crossLibcStdenv;