Now that we clarified architectural components issues, we should realize how to implement them in Angular. To achieve this goal, Google usually recommends monorepos. Monorepos, as we remember, is one repository for all libraries.
Angular CLI is a monorepo itself, but Nx offers additional features that can be pretty valuable for large enterprises. For example, the ways to introduce access restrictions between libraries to prevent a highly coupled overall system. As you remember, a weak connection increases maintainability, so for large software systems, this feature is valuable. Monorepo requires one instruction only to create a library :

Instead of
ng generate module, you are using
ng create library, and that's it.
As a benefit, you are getting weaker coupling in a cleaner structure with improved maintainability.
Nx allows grouping libraries by domain using switch
directory, which determines an optional subdirectory.

The incremental builds enable by the second switch - buildable.
The names of the libraries included in the layer would be reasonable to use as the prefix, naming layers like
feature-search or
feature-edit.
The domain library in this example is divided into three further layers. It allows isolating the exact domain model:
