1 { pkgs, lib, config, ... }:
2 # NOTE: list explicitely the modules loaded by defaults.nix,
3 # its clearer, safer and more flexible if not quicker.
5 modules/services/mail/dovecot.nix
6 modules/services/networking/domains.nix
7 modules/services/networking/shorewall.nix
8 #modules/services/security/x509.nix
13 # NOTE: this modules.nix file is put in the imports of the configuration.nix,
14 # but using the lib.findFiles defined in the nixpkgs.overlays leads to an infinite recursion,
15 # hence it is redefined here:
16 let findFiles = pattern:
19 let dir = readDir curr; in
20 let files = lib.filterAttrs (name: type:
22 match pattern name != null) dir; in
23 let dirs = lib.filterAttrs (name: type: type == "directory") dir; in
24 map (name: "${curr}/${name}") (attrNames files) ++
25 lib.concatMap (name: go "${curr}/${name}") (attrNames dirs)
27 in root: go (toPath root);
30 imports = findFiles ".*\\.nix" ./modules;