flake-config/overlays/default.nix
2025-11-09 23:51:40 -05:00

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);
}