11 lines
446 B
Nix
11 lines
446 B
Nix
{ lib }:
|
|
let
|
|
overlayPath = ./overlays;
|
|
candidates = lib.attrNames (builtins.readDir overlayPath);
|
|
pathToOverlay = n: overlayPath + ("/" + n);
|
|
isNixFile = n: builtins.match ".*\\.nix" n != null;
|
|
isNixDir = n: builtins.pathExists (pathToOverlay n + "/default.nix");
|
|
isOverlay = n: isNixDir n || isNixFile n;
|
|
overlays = builtins.filter isOverlay candidates;
|
|
importOverlay = n: import (pathToOverlay n);
|
|
in map importOverlay overlays
|