···24242525- [Flake optional](templates/noflake). Works with _stable_/_unstable_ Nix and with/without flake-parts.
26262727-- Create [DRY](modules/aspects/provides/unfree.nix) & [`class`-generic](modules/aspects/provides/primary-user.nix) modules.
2727+- Create [DRY](modules/aspects/provides/unfree/unfree.nix) & [`class`-generic](modules/aspects/provides/primary-user.nix) modules.
28282929- [Parametric](modules/aspects/provides/define-user.nix) over `host`/`home`/`user`.
30303131-- Context-aware [dependencies](modules/aspects/dependencies.nix): user/host contributions.
3131+- Context-aware [dependencies](modules/aspects/dependencies.nix): user<->host bidirectional contributions.
32323333- [Share](templates/example/modules/namespace.nix) aspects across systems & repos.
34343535- [Routable](templates/example/modules/aspects/eg/routes.nix) configurations.
36363737-- Custom factories for any Nix `class`.
3737+- Custom [factories](https://github.com/vic/den/blob/f5c44098e4855e07bf5cbcec00509e75ddde4220/templates/ci/modules/homes.nix#L20) for any Nix `class`.
38383939- Use `stable`/`unstable` channels per config.
40404141-- Freeform `host`/`user`/`home` [schemas](modules/_types.nix) (no `specialArgs`) with base modules.
4141+- Freeform `host`/`user`/`home` [schemas](modules/_types.nix) (no `specialArgs`) with [base](https://github.com/vic/den/pull/119) modules.
42424343- Multi-platform, multi-tenant hosts.
4444···48484949- Features [tested](templates/ci).
50505151-- Concepts [documented](https://vic.github.io/den).
5151+- REPL [friendly](https://github.com/vic/den/blob/f5c44098e4855e07bf5cbcec00509e75ddde4220/templates/bogus/modules/bug.nix#L34) [debugging](https://den.oeiuwq.com/debugging.html).
52525353Need more **batteries**? See [vic/denful](https://github.com/vic/denful).
5454···89899090### Den fundamental idea
91919292+> Configurations that can be applied to multiple host/user combinations.
9393+> The [`__functor`](https://den.oeiuwq.com/functor.html) pattern makes aspects parametric.
9494+9295<details>
93969497<summary>
9595-9696-> Configurations that can be applied to multiple host+user combinations.
9797-9898+ Den is about propagating context to produce configs.
9899</summary>
99100100101```nix
···145146146147### Code example
147148148148-See schema in [`_types.nix`](modules/_types.nix).
149149+Schema based hosts/users/homes entities (see [`_types.nix`](modules/_types.nix)).
149150150151```nix
151152# modules/hosts.nix