{ description = "Blender CAD Sketcher"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { devShells.default = pkgs.mkShell { shellHook = '' ''; packages = [ ( let py-slvs = pythonPkgs: pythonPkgs.buildPythonPackage rec { pname = "py-slvs"; version = "1.0.6"; src = pythonPkgs.fetchPypi { pname = "py_slvs"; version = "1.0.6"; sha256 = "sha256-U6T/aXy0JTC1ptL5oBmch0ytSPmIkRA8XOi31NpArnI="; }; nativeBuildInputs = with pkgs; [swig]; pyproject = true; propagatedBuildInputs = with pythonPkgs; [ cmake ninja setuptools scikit-build ]; dontUseCmakeConfigure = true; meta = with pkgs.lib; { description = "Python binding of SOLVESPACE geometry constraint solver"; homepage = "https://github.com/realthunder/slvs_py"; license = licenses.gpl3; }; }; blenderWithPySlvs = pkgs.blender.withPackages (p: [(py-slvs p)]); in blenderWithPySlvs ) ]; }; }); }