20 lines
665 B
Nix
20 lines
665 B
Nix
# Loop through all files and directories and try and import them as nixpkgs
|
|
# overlays. I've given them access to nixpkgs unstable just incase ;)
|
|
{ lib, unstable, ... }:
|
|
let
|
|
files = builtins.readDir ./.;
|
|
import_overlay = i: map (p: builtins.import (./. + ("/" + p)) { inherit unstable; }) i;
|
|
in {
|
|
nixpkgs.overlays =
|
|
(files # files
|
|
|> lib.filterAttrs (n: v: v == "regular")
|
|
|> builtins.attrNames
|
|
|> builtins.filter (inp: inp != "default.nix"
|
|
&& (builtins.match ".*\\.nix$" inp) != null)
|
|
|> import_overlay)
|
|
++
|
|
(files # directories
|
|
|> lib.filterAttrs (n: v: v == "directory")
|
|
|> builtins.attrNames
|
|
|> import_overlay);
|
|
}
|