]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - shell.nix
Add user-overridable callback for cancelling UCIS input (#5564)
[qmk_firmware.git] / shell.nix
index 302899c52b71be2fcb8e94cb50856802536bde42..6ff8a7ad2d8fdeba8aea714cd2d125a1d8d776cb 100644 (file)
--- a/shell.nix
+++ b/shell.nix
@@ -1,8 +1,13 @@
-{ pkgs ? import <nixpkgs> {}
-, avr ? true, arm ? true }:
+# dfu-programmer doesn't have darwin on it's list of supported platforms
+{ pkgs ? import <nixpkgs> { config = { allowUnsupportedSystem = true; }; }
+, avr ? true, arm ? true, teensy ? true }:
 
 with pkgs;
 let
+  avrbinutils = pkgsCross.avr.buildPackages.binutils;
+  avrlibc = pkgsCross.avr.libcCross;
+  gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
+
   avr_incflags = [
     "-isystem ${avrlibc}/avr/include"
     "-B${avrlibc}/avr/lib/avr5"
@@ -12,14 +17,22 @@ let
     "-B${avrlibc}/avr/lib/avr51"
     "-L${avrlibc}/avr/lib/avr51"
   ];
+  avrgcc = pkgsCross.avr.buildPackages.gcc.overrideAttrs (oldAttrs: rec {
+    name = "avr-gcc-8.1.0";
+    src = fetchurl {
+      url = "mirror://gcc/releases/gcc-8.1.0/gcc-8.1.0.tar.xz";
+      sha256 = "0lxil8x0jjx7zbf90cy1rli650akaa6hpk8wk8s62vk2jbwnc60x";
+    };
+  });
 in
 
 stdenv.mkDerivation {
   name = "qmk-firmware";
 
   buildInputs = [ dfu-programmer dfu-util diffutils git ]
-    ++ lib.optional avr [ avrbinutils avrgcc avrlibc ]
-    ++ lib.optional arm [ gcc-arm-embedded ];
+    ++ lib.optional avr [ avrbinutils avrgcc avrlibc avrdude ]
+    ++ lib.optional arm [ gcc-arm-embedded ]
+    ++ lib.optional teensy [ teensy-loader-cli ];
 
   CFLAGS = lib.optional avr avr_incflags;
   ASFLAGS = lib.optional avr avr_incflags;