diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..96f1e2f --- /dev/null +++ b/default.nix @@ -0,0 +1,12 @@ +{ pkgs ? import { } }: +let + myPkgs = import ./pkgs { inherit pkgs; }; + myPatchedPkgs = import ./patches { pkgs = pkgs // myPkgs; }; +in +{ + modules = import ./modules; + overlays = { + pkgs = import ./pkgs/overlay.nix; + patches = import ./patches/overlay.nix; + }; +} // myPkgs // myPatchedPkgs diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,2 @@ +{ +} diff --git a/patches/default.nix b/patches/default.nix new file mode 100644 index 0000000..9a59815 --- /dev/null +++ b/patches/default.nix @@ -0,0 +1,8 @@ +{ pkgs }: +let + # self is not included here to avoid recursion. + callPackage = pkgs.lib.callPackageWith pkgs; + self = rec { + }; +in +self diff --git a/patches/overlay.nix b/patches/overlay.nix new file mode 100644 index 0000000..2959fa1 --- /dev/null +++ b/patches/overlay.nix @@ -0,0 +1,4 @@ +self: super: + +{ +} diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..9ef3fcf --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,13 @@ +{ pkgs, lib ? pkgs.lib }: +let + callPackage = lib.callPackageWith (pkgs // self); + callPackageWithMerged = attrName: f: extraArgs: + let + mergedSubset = pkgs.${attrName} // self.${attrName}; + subsetArgs = builtins.listToAttrs [{ name = attrName; value = mergedSubset; }]; + in + callPackage f (subsetArgs // extraArgs); + self = rec { + }; +in +self diff --git a/pkgs/overlay.nix b/pkgs/overlay.nix new file mode 100644 index 0000000..ce39825 --- /dev/null +++ b/pkgs/overlay.nix @@ -0,0 +1,3 @@ +self: super: +{ +}