|
@@ -1,10 +1,26 @@
|
|
|
-{ avr ? true, arm ? true, teensy ? true }:
|
|
|
let
|
|
|
# We specify sources via Niv: use "niv update nixpkgs" to update nixpkgs, for example.
|
|
|
sources = import ./util/nix/sources.nix { };
|
|
|
- pkgs = import sources.nixpkgs { };
|
|
|
+in
|
|
|
+# However, if you want to override Niv's inputs, this will let you do that.
|
|
|
+{ pkgs ? import sources.nixpkgs { }
|
|
|
+, poetry2nix ? pkgs.callPackage (import sources.poetry2nix) { }
|
|
|
+, avr ? true
|
|
|
+, arm ? true
|
|
|
+, teensy ? true }:
|
|
|
+with pkgs;
|
|
|
+let
|
|
|
+ avrlibc = pkgsCross.avr.libcCross;
|
|
|
|
|
|
- poetry2nix = pkgs.callPackage (import sources.poetry2nix) { };
|
|
|
+ avr_incflags = [
|
|
|
+ "-isystem ${avrlibc}/avr/include"
|
|
|
+ "-B${avrlibc}/avr/lib/avr5"
|
|
|
+ "-L${avrlibc}/avr/lib/avr5"
|
|
|
+ "-B${avrlibc}/avr/lib/avr35"
|
|
|
+ "-L${avrlibc}/avr/lib/avr35"
|
|
|
+ "-B${avrlibc}/avr/lib/avr51"
|
|
|
+ "-L${avrlibc}/avr/lib/avr51"
|
|
|
+ ];
|
|
|
|
|
|
# Builds the python env based on nix/pyproject.toml and
|
|
|
# nix/poetry.lock Use the "poetry update --lock", "poetry add
|
|
@@ -21,21 +37,6 @@ let
|
|
|
});
|
|
|
};
|
|
|
in
|
|
|
-
|
|
|
-with pkgs;
|
|
|
-let
|
|
|
- avrlibc = pkgsCross.avr.libcCross;
|
|
|
-
|
|
|
- avr_incflags = [
|
|
|
- "-isystem ${avrlibc}/avr/include"
|
|
|
- "-B${avrlibc}/avr/lib/avr5"
|
|
|
- "-L${avrlibc}/avr/lib/avr5"
|
|
|
- "-B${avrlibc}/avr/lib/avr35"
|
|
|
- "-L${avrlibc}/avr/lib/avr35"
|
|
|
- "-B${avrlibc}/avr/lib/avr51"
|
|
|
- "-L${avrlibc}/avr/lib/avr51"
|
|
|
- ];
|
|
|
-in
|
|
|
mkShell {
|
|
|
name = "qmk-firmware";
|
|
|
|