final: _prev: {
  youthlic = {
    loadImports' =
      dir: f:
      final.pipe dir [
        final.youthlic.loadImports
        f
      ];
    loadImports =
      dir:
      with final;
      if !(pathExists dir && builtins.readFileType dir == "directory") then
        [ ]
      else
        let
          items = pipe dir [
            builtins.readDir
            attrNames
          ];
        in
        pipe items [
          (concatMap (
            name:
            let
              path = dir + "/${name}";
              type = builtins.readFileType path;
            in
            if type == "directory" then
              if pathExists (path + "/default.nix") then [ path ] else youthlic.loadImports path
            else if type == "regular" then
              if hasSuffix ".nix" name then [ path ] else [ ]
            else
              [ ]
          ))
          (filter (name: !hasSuffix "/default.nix" (toString name)))
        ];
  };
}
