summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--default.nix41
-rw-r--r--pkgs/python3Packages/ascii.nix30
-rw-r--r--pkgs/python3Packages/pyexecjs.nix33
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;
+ };
+}