52 lines
1.5 KiB
Nix
52 lines
1.5 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
|
|
zmk-nix = {
|
|
url = "github:lilyinstarlight/zmk-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, zmk-nix }: let
|
|
forAllSystems = nixpkgs.lib.genAttrs (nixpkgs.lib.attrNames zmk-nix.packages);
|
|
in {
|
|
packages = forAllSystems (system: let pkgs = nixpkgs.legacyPackages.${system}; in rec {
|
|
default = firmware;
|
|
|
|
firmware = zmk-nix.legacyPackages.${system}.buildSplitKeyboard {
|
|
name = "firmware";
|
|
|
|
src = nixpkgs.lib.sourceFilesBySuffices self [ "Kconfig" ".board" ".cmake" ".conf" ".defconfig" ".dts" ".dtsi" ".json" ".keymap" ".overlay" ".shield" ".yml" "_defconfig" ];
|
|
|
|
board = "piantor_pro_bt_%PART%";
|
|
shield = "nice_view";
|
|
|
|
zephyrSnippets = [ "studio-rpc-usb-uart" ];
|
|
extraCmakeFlags = [ "-DCONFIG_ZMK_STUDIO=y" ];
|
|
|
|
zephyrDepsHash = "sha256-gsqiTDJLAihVyBXVFlgXwqRmlREcFJctKpl4tEWmVlY=";
|
|
|
|
meta = {
|
|
description = "ZMK firmware";
|
|
license = nixpkgs.lib.licenses.mit;
|
|
platforms = nixpkgs.lib.platforms.all;
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
pkgs.python3Packages.setuptools
|
|
pkgs.python3Packages.protobuf
|
|
pkgs.protobuf
|
|
];
|
|
};
|
|
|
|
flash = zmk-nix.packages.${system}.flash.override { inherit firmware; };
|
|
update = zmk-nix.packages.${system}.update;
|
|
});
|
|
|
|
devShells = forAllSystems (system: {
|
|
default = zmk-nix.devShells.${system}.default;
|
|
});
|
|
};
|
|
}
|