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. + +