···9595Aspects are resolved for a specific class using the `resolve` API from flake-aspects:
96969797```nix
9898-module = den.aspects.igloo.resolve { class = "nixos"; };
9898+module = den.lib.aspects.resolve "nixos" [] den.aspects.igloo;
9999```
100100101101Resolution collects all `nixos` attrs from owned configs, walks `includes`
···51515252# Resolve for your custom class
5353aspect = den.aspects.web-server { env = "production"; };
5454-module = aspect.resolve { class = "terranix"; };
5454+module = den.lib.aspects.resolve "terranix" [] aspect;
5555```
56565757## Den as a Framework
+2-2
docs/src/content/docs/guides/debug.md
···6262Test how an aspect resolves for a specific class:
63636464```console
6565-nix-repl> module = den.aspects.laptop.resolve { class = "nixos"; aspect-chain = []; }
6565+nix-repl> module = den.lib.aspects.resolve "nixos" [] den.aspects.laptop;
6666nix-repl> config = (lib.evalModules { modules = [ module ]; }).config
6767```
6868···70707171```console
7272nix-repl> aspect = den.aspects.laptop { host = den.hosts.x86_64-linux.laptop; }
7373-nix-repl> module = aspect.resolve { class = "nixos"; aspect-chain = []; }
7373+nix-repl> module = den.lib.aspects.resolve "nixos" [] aspect;
7474```
75757676## Inspect a Host's Main Module
+2-2
docs/src/content/docs/index.mdx
···135135# Use Den API -- Context transformations happen here, nothing is configured yet.
136136aspect = den.ctx.host { host = den.hosts.x86_64-linux.igloo; };
137137138138-# Use flake-aspects API -- We enter the NixOS domain by resolving for the "nixos" class.
139139-nixosModule = aspect.resolve { class = "nixos"; };
138138+# Use flake-aspects API (re-exported by Den) -- We enter the NixOS domain by resolving for the "nixos" class.
139139+nixosModule = den.lib.aspects.resolve "nixos" [] aspect;
140140141141# Use NixOS API -- Instantiate using nixosSystem with the resolved module.
142142nixosConfigurations.igloo = lib.nixosSystem { modules = [ nixosModule ]; };
+1-1
templates/bogus/modules/test-base.nix
···5959 funnyNames =
6060 aspect:
6161 let
6262- mod = aspect.resolve { class = "funny"; };
6262+ mod = config.den.lib.aspects.resolve "funny" [ ] aspect;
6363 namesMod = {
6464 options.names = lib.mkOption {
6565 type = lib.types.listOf lib.types.str;
-1
templates/microvm/modules/guests-example.nix
···2323 };
24242525 den.aspects.guest-microvm = {
2626- # resolved with: `(den.ctx.host = { host = guest-microvm }).resolve { class = "nixos" }`
2726 # resulting nixos-module is set at server: microvm.vms.<name>.config
2827 nixos =
2928 { pkgs, ... }: