initial commit
All checks were successful
Deploy docs / build-and-deploy (push) Successful in 3s

This commit is contained in:
sid 2026-02-23 20:34:35 +01:00
commit 95a533c876
451 changed files with 18255 additions and 0 deletions

View file

@ -0,0 +1,69 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
python3,
fetchPypi,
makeWrapper,
nodejs,
kicad,
...
}:
let
kicad-skip = import ./kicad-skip.nix { inherit lib python3 fetchPypi; };
pythonEnv = python3.withPackages (
ps:
[
kicad-skip
]
++ (with ps; [
cairosvg
colorlog
pillow
pydantic
python-dotenv
requests
])
);
in
buildNpmPackage rec {
pname = "kicad-mcp";
version = "2.1.0-alpha";
src = fetchFromGitHub {
owner = "mixelpixx";
repo = "KiCAD-MCP-Server";
rev = "d2723bc29207c942bc93083131e2ac2a8d1a82d5";
hash = "sha256-WvEd+tSjAdc+qjFh4kUaWGnd9pEiJb6Og7i1viUqh94=";
};
npmDepsHash = "sha256-nz73qj8CK2LyFixoF14ET2wq407YyuJUw/4VTDc80cQ=";
buildScript = "build";
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
pythonEnv
];
postInstall = ''
mkdir -p $out/bin
makeWrapper ${nodejs}/bin/node $out/bin/${pname} \
--add-flags "$out/lib/node_modules/${pname}/dist/index.js" \
--prefix PATH : ${
lib.makeBinPath [
pythonEnv
]
} \
--prefix PYTHONPATH : "${kicad}/lib/python3/dist-packages"
'';
meta = {
description = "Model Context Protocol server for KiCAD";
homepage = "https://github.com/mixelpixx/KiCAD-MCP-Server";
};
}

View file

@ -0,0 +1,35 @@
{
lib,
python3,
fetchPypi,
}:
python3.pkgs.buildPythonApplication rec {
pname = "kicad-skip";
version = "0.2.5";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-3GtHIV2h6C8syFZ/Dx6OWsgpf14ZQdlnGS4EM4DgjIM=";
};
build-system = [
python3.pkgs.setuptools
];
dependencies = with python3.pkgs; [
sexpdata
];
pythonImportsCheck = [
"kicad_skip"
];
meta = {
description = "A friendly way to skip the drudgery and manipulate kicad 7+ s-expression schematic, netlist and PCB files";
homepage = "https://pypi.org/project/kicad-skip/";
license = lib.licenses.lgpl21Only;
mainProgram = "kicad-skip";
};
}