diff --git a/draw/default.nix b/draw/default.nix new file mode 100644 index 0000000..f507302 --- /dev/null +++ b/draw/default.nix @@ -0,0 +1,42 @@ +{ + lib, + buildPythonApplication, + fetchPypi, + poetry-core, + pydantic, + pcpp, + pyparsing, + pyyaml, + platformdirs, + pydantic-settings, +}: +buildPythonApplication rec { + pname = "keymap-drawer"; + version = "0.18.1"; + pyproject = true; + + src = fetchPypi { + pname = "keymap_drawer"; + inherit version; + hash = "sha256-MHjxsopXoYWZFuXUbeaI7BCSx3HkRaeVidY+mc8lj+s="; + }; + + build-system = [poetry-core]; + + propagatedBuildInputs = [ + pydantic + pcpp + pyparsing + pyyaml + platformdirs + pydantic-settings + ]; + + doCheck = false; + + meta = { + homepage = "https://github.com/caksoylar/keymap-drawer"; + description = "Parse QMK & ZMK keymaps and draw them as vector graphics"; + license = lib.licenses.mit; + }; +} diff --git a/shell.nix b/shell.nix index c370977..e2581c8 100644 --- a/shell.nix +++ b/shell.nix @@ -1,13 +1,12 @@ -{pkgs ? import {}}: -pkgs.mkShell { - packages = with pkgs; [ - kicad - nodejs - freecad-wayland - blender - python3Packages.pip - # python312Packages.west - # cmake - # ninja - ]; -} +{pkgs ? import {}}: let + keymap-drawer = + pkgs.python3Packages.callPackage ./draw {}; +in + pkgs.mkShell { + packages = with pkgs; [ + kicad + nodejs + freecad-wayland + keymap-drawer + ]; + }