diff options
| -rw-r--r-- | default.nix | 41 | ||||
| -rw-r--r-- | pkgs/python3Packages/ascii.nix | 30 | ||||
| -rw-r--r-- | pkgs/python3Packages/pyexecjs.nix | 33 |
3 files changed, 99 insertions, 5 deletions
diff --git a/default.nix b/default.nix index d56a49a..a834752 100644 --- a/default.nix +++ b/default.nix @@ -1,13 +1,44 @@ { pkgs ? import <nixpkgs> { }, }: +let + + recursiveMerge = + with pkgs.lib; + attrList: + let + f = + attrPath: + zipAttrsWith ( + n: values: + if tail values == [ ] then + head values + else if all isList values then + unique (concatLists values) + else if all isAttrs values then + f (attrPath ++ [ n ]) values + else + last values + ); + in + f [ ] attrList; + callPackage = pkgs.lib.callPackageWith (recursiveMerge [ + pkgs + packages + ]); + packages = { + python3Packages = { + ascii = callPackage ./pkgs/python3Packages/ascii.nix { }; + pyease-grpc = callPackage ./pkgs/python3Packages/pyease-grpc.nix { }; + pyexecjs = callPackage ./pkgs/python3Packages/pyexecjs.nix { }; + }; + + sorremacs = callPackage ./pkgs/sorremacs { }; + }; +in { lib = import ./lib { inherit pkgs; }; modules = import ./modules; overlays = import ./overlays; - - python3Packages = { - pyease-grpc = pkgs.callPackage ./pkgs/python3Packages/pyease-grpc.nix { }; - }; - sorremacs = pkgs.callPackage ./pkgs/sorremacs { }; } +// packages diff --git a/pkgs/python3Packages/ascii.nix b/pkgs/python3Packages/ascii.nix new file mode 100644 index 0000000..e5b455b --- /dev/null +++ b/pkgs/python3Packages/ascii.nix @@ -0,0 +1,30 @@ +{ + lib, + python3Packages, + fetchPypi, +}: +python3Packages.buildPythonPackage rec { + pname = "ascii"; + version = "3.6"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-tf/EyyCsF4nKyAqRMZNF8mo+jzxtb+/zoiDBtsUFYUE="; + }; + + build-system = [ + python3Packages.setuptools + ]; + + dependencies = with python3Packages; [ + pillow + urllib3 + ]; + + meta = { + homepage = "https://github.com/mkaminsky11/ascii"; + description = "Turns images into ascii art"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/python3Packages/pyexecjs.nix b/pkgs/python3Packages/pyexecjs.nix new file mode 100644 index 0000000..ae2b05a --- /dev/null +++ b/pkgs/python3Packages/pyexecjs.nix @@ -0,0 +1,33 @@ +{ + lib, + python3Packages, + fetchPypi, + nodejs-slim, +}: +python3Packages.buildPythonPackage rec { + pname = "PyExecJS"; + version = "1.5.1"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-NMwdBwl2kYGD/3vcCtcfgVeokcknCMAMX7v/enafUFw="; + }; + + build-system = [ + python3Packages.setuptools + ]; + + dependencies = [ + python3Packages.six + + # the library supports multiple backends, but node seems the easiest one to include here + nodejs-slim + ]; + + meta = { + homepage = "https://github.com/doloopwhile/PyExecJS"; + description = "Run JavaScript code from Python"; + license = lib.licenses.mit; + }; +} |
