summaryrefslogtreecommitdiffstats
path: root/shell.nix
diff options
context:
space:
mode:
authorLukas Werling <lukas.werling@gmail.com>2017-09-24 21:34:47 +0200
committerJack Humbert <jack.humb@gmail.com>2017-09-25 19:14:20 +0200
commit1ad941e98454237d269057d5f68cc1e76ca35dd4 (patch)
treec7f97fcc2107151fdbcb6389aa8f64c1deea1db4 /shell.nix
parent809c9258c11d8e502004f3187d8c22e23bf69dec (diff)
downloadqmk_firmware-1ad941e98454237d269057d5f68cc1e76ca35dd4.tar.gz
qmk_firmware-1ad941e98454237d269057d5f68cc1e76ca35dd4.tar.xz
Add shell.nix for NixOS users
Diffstat (limited to 'shell.nix')
-rw-r--r--shell.nix26
1 files changed, 26 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix
new file mode 100644
index 000000000..302899c52
--- /dev/null
+++ b/shell.nix
@@ -0,0 +1,26 @@
+{ pkgs ? import <nixpkgs> {}
+, avr ? true, arm ? true }:
+
+with pkgs;
+let
+ 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
+
+stdenv.mkDerivation {
+ name = "qmk-firmware";
+
+ buildInputs = [ dfu-programmer dfu-util diffutils git ]
+ ++ lib.optional avr [ avrbinutils avrgcc avrlibc ]
+ ++ lib.optional arm [ gcc-arm-embedded ];
+
+ CFLAGS = lib.optional avr avr_incflags;
+ ASFLAGS = lib.optional avr avr_incflags;
+}