1
0
Fork 0
nixos-config/overlays/flake-module.nix

33 lines
859 B
Nix
Raw Normal View History

2023-02-11 14:14:51 +00:00
{
lib,
inputs,
...
}: {
perSystem = {
inputs',
system,
...
}: {
_module.args.pkgs = inputs'.nixos-stable.legacyPackages.appendOverlays (
[
(_: _: {
flake-inputs = inputs;
flake-inputs' = inputs';
})
]
++ (let
overlayPath = ./.;
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");
2023-02-11 20:32:56 +00:00
notDefault = n: n != "flake-module.nix";
2023-02-11 14:14:51 +00:00
isOverlay = n: (isNixDir n || isNixFile n) && notDefault n;
overlays = builtins.filter isOverlay candidates;
importOverlay = n: import (pathToOverlay n);
in
map importOverlay overlays)
);
};
}