{ pkgs, lib, ... }: let base = { type = "qmk"; qmk = { keyboard.name = "novelkeys/nk87"; build.flash = fw: '' ${pkgs.dfu-util}/bin/dfu-util "${fw}.bin"; ''; }; }; in { devices = { "nk87:default" = base; "nk87:me" = lib.recursiveUpdate base { qmk.keymap = rec { name = "me"; src = pkgs.symlinkJoin { inherit name; paths = [ (builtins.path { inherit name; path = ./.; }) (builtins.path { name = "shared"; path = ../shared; }) ]; }; }; }; }; }