{ overlays ? [] } @ args: let inherit (builtins) attrNames filter match pathExists readDir; path = ./overlays; overlayPaths = filter (n: match ".*\\.nix" n != null || pathExists (path + "/${n}/default.nix")) (attrNames (readDir path)); in import ./nixpkgs (args // { overlays = (map (n: import (path + "/${n}")) overlayPaths) ++ overlays; })