# this imports all files in a directory (besides default.nix) # with our modified arguments { lib, pkgs, ... }@args: dir: let # instead of letting `evalModules` pass arguments to each file # in our list, we import them directly applyImports = file: _: import "${dir}/${file}" ( args // { lib = lib.extend (final: _: { ctp = import ./. (args // { lib = final; }); }); defaultSources = import ../../.sources; } ); in lib.pipe dir [ builtins.readDir builtins.attrNames (lib.remove "default.nix") (map applyImports) ]