about summary refs log tree commit diff
path: root/users/glittershark/keyboard/default.nix
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-06-16T00·04+0100
committerVincent Ambo <mail@tazj.in>2020-06-16T00·04+0100
commit91f53f02d8479303910abfd3f3690d3ef27e6c4b (patch)
tree2e97a7ac0a3fc81a1880718a1c9a3fd9607b1359 /users/glittershark/keyboard/default.nix
parent04d3fb675b6a0f395b9470662511b48f2b02b82a (diff)
parenteb211c2701ad6437bbe5c846823b17acb1dcb1c7 (diff)
Add 'users/glittershark/keyboard/' from commit 'eb211c2701ad6437bbe5c846823b17acb1dcb1c7' r/977
git-subtree-dir: users/glittershark/keyboard
git-subtree-mainline: 04d3fb675b6a0f395b9470662511b48f2b02b82a
git-subtree-split: eb211c2701ad6437bbe5c846823b17acb1dcb1c7
Diffstat (limited to 'users/glittershark/keyboard/default.nix')
-rw-r--r--users/glittershark/keyboard/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/users/glittershark/keyboard/default.nix b/users/glittershark/keyboard/default.nix
new file mode 100644
index 0000000000..18169b5be1
--- /dev/null
+++ b/users/glittershark/keyboard/default.nix
@@ -0,0 +1,49 @@
+{ nixpkgs ? import <nixpkgs> {}
+}:
+
+with nixpkgs;
+
+rec {
+  qmkSource = fetchgit {
+    url = "https://github.com/qmk/qmk_firmware";
+    rev = "ab1650606c36f85018257aba65d9c3ff8ec42e71";
+    sha256 = "1k59flkvhjzmfl0yz9z37lqhvad7m9r5wy1p1sjk5274rsmylh79";
+    fetchSubmodules = true;
+  };
+
+  qmk = import "${qmkSource}/shell.nix" {
+    avr = true;
+    teensy = true;
+    arm = false;
+  };
+
+  layout = stdenv.mkDerivation {
+    name = "ergodox_ez_grfn.hex";
+
+    src = qmkSource;
+
+    inherit (qmk) buildInputs AVR_CFLAGS AVR_ASFLAGS;
+
+    patches = [ ./increase-tapping-delay.patch ];
+
+    postPatch = ''
+      mkdir keyboards/ergodox_ez/keymaps/grfn
+      cp ${./keymap.c} keyboards/ergodox_ez/keymaps/grfn/keymap.c
+    '';
+
+    buildPhase = ''
+      make ergodox_ez:grfn
+    '';
+
+    installPhase = ''
+      cp ergodox_ez_grfn.hex $out
+    '';
+  };
+
+  flash = writeShellScript "flash.sh" ''
+    ${teensy-loader-cli}/bin/teensy-loader-cli \
+      -v \
+      --mcu=atmega32u4 \
+      -w ${layout}
+  '';
+}