]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - shell.nix
[Keyboard] leds in default keymap (#6357)
[qmk_firmware.git] / shell.nix
index ce17dd41e8d6d1ebd8101eb5a0b343cb6f3c013f..e85221975d3182d20662dc9ba09886b9bf738306 100644 (file)
--- a/shell.nix
+++ b/shell.nix
@@ -1,8 +1,16 @@
-{ pkgs ? import <nixpkgs> {}
+# 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 = (import (builtins.fetchTarball {
+    url = "https://github.com/NixOS/nixpkgs-channels/archive/87f146a41c463a64c93022b11cf19716b3a22037.tar.gz";
+    sha256 = "0rk8haf19plw6vyvq0am99rik0hrrysknjw0f2vs7985awngy3q2";
+  }) {}).gcc-arm-embedded;
+
   avr_incflags = [
     "-isystem ${avrlibc}/avr/include"
     "-B${avrlibc}/avr/lib/avr5"
@@ -12,13 +20,20 @@ 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 avr [ avrbinutils avrgcc avrlibc avrdude ]
     ++ lib.optional arm [ gcc-arm-embedded ]
     ++ lib.optional teensy [ teensy-loader-cli ];