31 lines
785 B
Nix
31 lines
785 B
Nix
{
|
|
perSystem = {
|
|
inputs',
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
# use nixpkgs lib instead of flake-parts lib
|
|
# avoids home-manager warning about version mismatch
|
|
inherit (pkgs) lib;
|
|
in {
|
|
_module.args.lib = lib.extend (
|
|
final: prev: {
|
|
my = let
|
|
lib = final;
|
|
getPaths = file: root:
|
|
builtins.filter builtins.pathExists (
|
|
map (dir: root + "/${dir}/${file}") (
|
|
lib.attrNames (lib.filterAttrs (name: type: type == "directory") (builtins.readDir root))
|
|
)
|
|
);
|
|
in {
|
|
inherit getPaths;
|
|
getModules = builtins.concatMap (getPaths "default.nix");
|
|
getHmModules = builtins.concatMap (getPaths "home.nix");
|
|
};
|
|
}
|
|
);
|
|
};
|
|
}
|