Modular, context-aware and aspect-oriented dendritic Nix configurations. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/ den.oeiuwq.com
configurations den dendritic nix aspect oriented

docs: Add links to Adda's repo using Den as an example #2

open opened by adda.tngl.sh targeting main

Since my testimonial lacks a repo link, this PR adds a link to my system configuration repository, both next to the testimonial and as an example in the README. If either does not suit you, feel free to say.

Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:j4m72hcsb7vufnsccj5cnwd2/sh.tangled.repo.pull/3mgaez6fuu522
+8 -8
Interdiff #2 #3
README.md

This file has not been changed.

+8 -8
docs/src/content/docs/index.mdx
··· 37 > -- `@adda` - Very early Den adopter after using Dendritic flake-parts and Unify. [\[repo\]](https://codeberg.org/Adda/nixos-config) 38 39 40 - > I'm super impressed with den so far, I'm excited to try out some new patterns that Unify couldn't easily do. 41 > -- `@quasigod` - Unify dendritic-framework author on adopting Den. [\[repo\]](https://tangled.org/quasigod.xyz/nixconfig) 42 43 44 - > Massive work you did here! 45 > -- `@drupol` - Author of "Flipping the Configuration Matrix" Dendritic blog post. [\[repo\]](https://github.com/drupol/infra/tree/push-woqtkxkpstro) 46 47 48 - > Thanks for the awesome library and the support for non-flakes... it’s positively brilliant!. I really hope this gets wider adoption. 49 > -- `@vczf` - At den matrix channel. 50 51 52 ## What is Den 53 54 55 - At its core, Den is a **library** for activating Nix configuration aspects via context transformations. 56 57 On top of the library, Den provides a **framework** for the common case 58 - of NixOS/nix-Darwin/Home-Manager. 59 60 Den embraces your Nix choices and does not impose itself. All parts of Den are optional and replaceable. 61 ··· 116 </Card> 117 <Card title="Sharable Aspects" icon="star"> 118 [Namespaces](/guides/namespaces/) let you publish and consume aspect 119 - libraries across flakes or non-flakes. 120 121 Den is social, trying to bring re-usability across stable and unstable Nix boundaries. 122 No Flakes mandated. ··· 141 142 ## Den as a _framework_. 143 144 - Built on top of `den.lib`, Den provides a framework with ready-made facilities for 145 NixOS/nix-Darwin/homes configurations. 146 147 ```mermaid ··· 157 1. **Schema** -- `den.hosts` and `den.homes` declare machines, users, and their properties with `den.base` modules and extensible freeform types. 158 2. **Aspects** -- `den.aspects.*` bundles per-class configs (`nixos`, `darwin`, `homeManager`, or any custom class) with `.includes` and `.provides` forming a DAG. 159 3. **Context pipeline** -- `den.ctx` transforms schema entries into context pairs (`{host}`, `{host, user}`, `{home}`), walking `into.*` transitions for derived contexts like `hm-host`, `hm-user`, `wsl-host` or any other custom context stage. 160 - 4. **Resolution** -- Parametric dispatch via `__functor` argument introspection. Functions receive only contexts whose shape matches their parameters. 161 5. **Output** -- Each host/home is instantiated via `nixpkgs.lib.nixosSystem`, `darwin.lib.darwinSystem`, or `home-manager.lib.homeManagerConfiguration`. 162 </Steps> 163
··· 37 > -- `@adda` - Very early Den adopter after using Dendritic flake-parts and Unify. [\[repo\]](https://codeberg.org/Adda/nixos-config) 38 39 40 + > I'm super impressed with den so far, I'm excited to try out some new patterns that Unify couldn't easily do. 41 > -- `@quasigod` - Unify dendritic-framework author on adopting Den. [\[repo\]](https://tangled.org/quasigod.xyz/nixconfig) 42 43 44 + > Massive work you did here! 45 > -- `@drupol` - Author of "Flipping the Configuration Matrix" Dendritic blog post. [\[repo\]](https://github.com/drupol/infra/tree/push-woqtkxkpstro) 46 47 48 + > Thanks for the awesome library and the support for non-flakes... it’s positively brilliant!. I really hope this gets wider adoption. 49 > -- `@vczf` - At den matrix channel. 50 51 52 ## What is Den 53 54 55 + At its core, Den is a **library** for activating Nix configuration aspects via context transformations. 56 57 On top of the library, Den provides a **framework** for the common case 58 + of NixOS/nix-Darwin/Home-Manager. 59 60 Den embraces your Nix choices and does not impose itself. All parts of Den are optional and replaceable. 61 ··· 116 </Card> 117 <Card title="Sharable Aspects" icon="star"> 118 [Namespaces](/guides/namespaces/) let you publish and consume aspect 119 + libraries across flakes or non-flakes. 120 121 Den is social, trying to bring re-usability across stable and unstable Nix boundaries. 122 No Flakes mandated. ··· 141 142 ## Den as a _framework_. 143 144 + Built on top of `den.lib`, Den provides a framework with ready-made facilities for 145 NixOS/nix-Darwin/homes configurations. 146 147 ```mermaid ··· 157 1. **Schema** -- `den.hosts` and `den.homes` declare machines, users, and their properties with `den.base` modules and extensible freeform types. 158 2. **Aspects** -- `den.aspects.*` bundles per-class configs (`nixos`, `darwin`, `homeManager`, or any custom class) with `.includes` and `.provides` forming a DAG. 159 3. **Context pipeline** -- `den.ctx` transforms schema entries into context pairs (`{host}`, `{host, user}`, `{home}`), walking `into.*` transitions for derived contexts like `hm-host`, `hm-user`, `wsl-host` or any other custom context stage. 160 + 4. **Resolution** -- Parametric dispatch via `__functor` argument introspection. Functions receive only contexts whose shape matches their parameters. 161 5. **Output** -- Each host/home is instantiated via `nixpkgs.lib.nixosSystem`, `darwin.lib.darwinSystem`, or `home-manager.lib.homeManagerConfiguration`. 162 </Steps> 163

History

4 rounds 0 comments
sign up or login to add to the discussion
1 commit
expand
70cfce7d
docs: Add links to Adda's repo using Den as an example
merge conflicts detected
expand
  • README.md:56
  • docs/src/content/docs/index.mdx:33
expand 0 comments
1 commit
expand
70c7b979
docs: Add links to Adda's repo using Den as an example
expand 0 comments
1 commit
expand
cbc515fb
docs: Add links to Adda's repo using Den as an example
expand 0 comments
1 commit
expand
1c402c95
docs: Add links to Adda's repo using Den as an example
expand 0 comments