diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs
index ae94f3549..47c37e957 100644
--- a/docs/astro.config.mjs
+++ b/docs/astro.config.mjs
@@ -61,6 +61,7 @@ export default defineConfig({
{ label: 'Aspects & Functors', slug: 'explanation/aspects' },
{ label: 'Class Modules', slug: 'explanation/class-modules' },
{ label: 'Parametric Aspects', slug: 'explanation/parametric' },
+ { label: 'Structural Introspection', slug: 'explanation/structural-introspection', badge: { text: 'advanced', variant: 'caution' } },
],
},
{
@@ -130,26 +131,27 @@ export default defineConfig({
label: 'Batteries',
collapsed: true,
items: [
- { label: 'define-user — OS user accounts', link: '/reference/batteries/#den_define-user' },
- { label: 'hostname — set system hostname', link: '/reference/batteries/#den_hostname' },
- { label: 'os-class — cross-platform os class', link: '/reference/batteries/#den_os-class' },
- { label: 'os-user — user class forwarding', link: '/reference/batteries/#den_os-user' },
- { label: 'primary-user — admin privileges', link: '/reference/batteries/#den_primary-user' },
- { label: 'user-shell — login shell', link: '/reference/batteries/#den_user-shell' },
- { label: 'mutual-provider — host↔user config', link: '/reference/batteries/#den_mutual-provider' },
- { label: 'host-aspects — project host classes', link: '/reference/batteries/#den_host-aspects' },
- { label: 'tty-autologin — TTY auto-login', link: '/reference/batteries/#den_tty-autologin' },
- { label: 'vm-autologin — auto-login for VMs', link: '/reference/batteries/#den_vm-autologin' },
- { label: 'wsl — WSL support', link: '/reference/batteries/#den_wsl' },
- { label: 'forward — custom class factory', link: '/reference/batteries/#den_forward' },
- { label: 'import-tree — legacy module import', link: '/reference/batteries/#den_import-tree' },
- { label: 'home-manager — HM integration', link: '/reference/batteries/#den_home-manager' },
- { label: 'hjem — hjem integration', link: '/reference/batteries/#den_hjem' },
- { label: 'maid — nix-maid integration', link: '/reference/batteries/#den_maid' },
- { label: 'unfree — allow unfree packages', link: '/reference/batteries/#den_unfree' },
- { label: 'insecure — allow insecure packages', link: '/reference/batteries/#den_insecure' },
- { label: "inputs' — flake-parts inputs", link: '/reference/batteries/#den_inputs' },
- { label: "self' — flake-parts self outputs", link: '/reference/batteries/#den_self' },
+ { label: 'define-user — OS user accounts', link: '/reference/batteries/#denbatteriesdefine-user' },
+ { label: 'hostname — set system hostname', link: '/reference/batteries/#denbatterieshostname' },
+ { label: 'os-class — cross-platform os class', link: '/reference/batteries/#denbatteriesos-class' },
+ { label: 'os-user — user class forwarding', link: '/reference/batteries/#denbatteriesos-user' },
+ { label: 'primary-user — admin privileges', link: '/reference/batteries/#denbatteriesprimary-user' },
+ { label: 'user-shell — login shell', link: '/reference/batteries/#denbatteriesuser-shell' },
+ { label: 'mutual-provider — host↔user config', link: '/reference/batteries/#denbatteriesmutual-provider' },
+ { label: 'host-aspects — project host classes', link: '/reference/batteries/#denbatterieshost-aspects' },
+ { label: 'tty-autologin — TTY auto-login', link: '/reference/batteries/#denbatteriestty-autologin' },
+ { label: 'vm-autologin — auto-login for VMs', link: '/reference/batteries/#denbatteriesvm-autologin' },
+ { label: 'wsl — WSL support', link: '/reference/batteries/#denbatterieswsl' },
+ { label: 'forward — custom class factory', link: '/reference/batteries/#denbatteriesforward' },
+ { label: 'import-tree — legacy module import', link: '/reference/batteries/#denbatteriesimport-tree' },
+ { label: 'home-manager — HM integration', link: '/reference/batteries/#denbatterieshome-manager' },
+ { label: 'hjem — hjem integration', link: '/reference/batteries/#denbatterieshjem' },
+ { label: 'maid — nix-maid integration', link: '/reference/batteries/#denbatteriesmaid' },
+ { label: 'unfree — allow unfree packages', link: '/reference/batteries/#denbatteriesunfree' },
+ { label: 'insecure — allow insecure packages', link: '/reference/batteries/#denbatteriesinsecure' },
+ { label: "inputs' — flake-parts inputs", link: '/reference/batteries/#denbatteriesinputs' },
+ { label: "self' — flake-parts self outputs", link: '/reference/batteries/#denbatteriesself' },
+ { label: "flake-scope — lib/inputs/den to pipeline", link: '/reference/batteries/#denbatteriesflake-scope' },
],
},
{ label: 'Host↔User Mutual Config', slug: 'guides/mutual' },
diff --git a/docs/src/content/docs/explanation/parametric.mdx b/docs/src/content/docs/explanation/parametric.mdx
index 02b175e75..7f2d1b57c 100644
--- a/docs/src/content/docs/explanation/parametric.mdx
+++ b/docs/src/content/docs/explanation/parametric.mdx
@@ -112,6 +112,28 @@ context drives the *entire aspect* (which classes to include, what includes to
add). Use class-level injection when only a specific class module needs
entity data alongside module-system args.
+
+