summaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix41
1 files changed, 36 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