]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - flakes/mypackages/overlays/python-packages/default.nix
Add flake skeletons
[perso/Immae/Config/Nix.git] / flakes / mypackages / overlays / python-packages / default.nix
diff --git a/flakes/mypackages/overlays/python-packages/default.nix b/flakes/mypackages/overlays/python-packages/default.nix
new file mode 100644 (file)
index 0000000..c7b3351
--- /dev/null
@@ -0,0 +1,28 @@
+let
+  fromMyPythonPackages = name: self: super: {
+    pythonOverrides = self.buildPythonOverrides (pyself: pysuper: {
+      "${name}" = self."${pyself.python.pname}PackagesPlus"."${name}";
+    }) super.pythonOverrides;
+  };
+in
+{
+  # https://github.com/NixOS/nixpkgs/issues/44426
+  # needs to come before all other in alphabetical order (or make use of
+  # lib.mkBefore)
+  __pythonOverlayFix = self: super: let
+    pyNames = [ "python3" "python37" "python38" ];
+    overriddenPython = name: [
+      { inherit name; value = super.${name}.override { packageOverrides = self.pythonOverrides; }; }
+      { name = "${name}Packages"; value = self.recurseIntoAttrs self.${name}.pkgs; }
+    ];
+    overriddenPythons = builtins.concatLists (map overriddenPython pyNames);
+  in {
+    pythonOverrides = pyself: pysuper: {};
+    buildPythonOverrides = newOverrides: currentOverrides: super.lib.composeExtensions newOverrides currentOverrides;
+  } // super.lib.attrsets.listToAttrs overriddenPythons;
+
+
+  blivet3 = fromMyPythonPackages "blivet3";
+  pymilter = fromMyPythonPackages "pymilter";
+  matrix-webhook = fromMyPythonPackages "matrix-webhook";
+}