{ self, ... }: let forSelfOverlay = if builtins.hasAttr "overlays" self && builtins.hasAttr "forSelf" self.overlays then self.overlays.forSelf else (_: p: p); in rec { inherit forSelfOverlay; systems = [ "aarch64-linux" "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ]; forSystems = nixpkgs: nixpkgs.lib.genAttrs systems; pkgsFor = nixpkgs: system: (import nixpkgs { inherit system; }).extend (builtins.trace forSelfOverlay forSelfOverlay); genPkgs = nixpkgs: func: (forSystems nixpkgs (system: func (pkgsFor nixpkgs system))); }