diff options
Diffstat (limited to 'users/glittershark/keyboard/default.nix')
-rw-r--r-- | users/glittershark/keyboard/default.nix | 49 |
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 000000000000..18169b5be1ba --- /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} + ''; +} |