{ inputs, ... }: { perSystem = { system, ... }: let overlay = inputs.self.overlays.default; # Apply the overlay to nixpkgs customPkgs = import inputs.nixpkgs { inherit system; overlays = [ overlay ]; }; # Automatically extract only the packages added by the overlay # You could also list them manually generatedPackages = builtins.intersectAttrs (overlay customPkgs customPkgs) customPkgs; in { packages = generatedPackages; }; }