···213They are actually `[ config.bar.provides.itself config.baz.provides.itself ]`.
214215but you can also define custom providers that can inspect the argument's `aspect` and `class`
216-and return some another aspect accordingly.
0217218```nix
219-flake.aspects.alice.provides.os-user = { aspect, class, ... }: {
220- # perhaps regexp matching on aspect or class. eg, match all "hosts" aspects.
221- nixos = { };
222-}
223```
224225the `os-user` provider can be now included in a `requires` list:
···213They are actually `[ config.bar.provides.itself config.baz.provides.itself ]`.
214215but you can also define custom providers that can inspect the argument's `aspect` and `class`
216+and return some set of modules accordingly. you can also use this feature to have aspects that
217+like as proxy/routers of dependencies.
218219```nix
220+flake.aspects.alice.provides.os-user = { aspect, class }:
221+if someCondition aspect && class == "nixos" then { nixos = { ... }; } else { }
00222```
223224the `os-user` provider can be now included in a `requires` list: