config for my ergodox
1{
2 description = "Configuration and build from my qmk keyboards";
3
4 inputs = {
5 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
6 flake-utils.url = "github:numtide/flake-utils";
7 };
8
9 outputs = { self, nixpkgs, flake-utils, ... }:
10 flake-utils.lib.eachDefaultSystem (system:
11 let pkgs = import nixpkgs { inherit system; };
12 in with pkgs; {
13 devShells.default = mkShell {
14 QMK_HOME = "./qmk_firmware";
15 nativeBuildInputs = [ qmk ];
16 };
17
18 apps = let
19 flash = kb:
20 pkgs.writeShellApplication {
21 name = "flash";
22 runtimeInputs = with pkgs; [ qmk ];
23 text = ''
24 export QMK_HOME=./qmk_firmware
25 qmk flash -c ./${kb}.json
26 '';
27 };
28 in {
29 ergodox_ez = {
30 type = "app";
31 program = "${flash "ergodox_ez"}/bin/flash";
32 };
33 };
34
35 });
36}