···73</tr>
74</table>
75000000000000000000000076## Usage
7778The library can be used in two ways: as a flakes-independent dependency-free utility or as a `flake-parts` module.
···73</tr>
74</table>
7576+Unlike `flake.modules.<class>.<aspect>` which is _flat_, aspects can be nested forming a _tree_ by using the `provides` (short alias: `_`) attribute. Each aspect can also specify a list of `includes` of other aspects, forming a _graph_ of dependencies.
77+78+```nix
79+{
80+ flake.aspects = {
81+ gaming = {
82+ nixos = {};
83+ darwin = {};
84+85+ provides.emulation = { aspect, ... }: {
86+ nixos = {};
87+88+ _.nes.nixos = {};
89+ _.gba.nixos = {};
90+91+ includes = with aspect._; [ nes gba ];
92+ };
93+ };
94+ };
95+}
96+```
97+98## Usage
99100The library can be used in two ways: as a flakes-independent dependency-free utility or as a `flake-parts` module.