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
8
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs for flake-parts-modules template

+46
+2
README.md
··· 129 129 130 130 [microvm](https://den.oeiuwq.com/tutorials/microvm): MicroVM runnable-pkg and guests. custom ctx-pipeline. 131 131 132 + [flake-parts-modules](https://den.oeiuwq.com/tutorials/flake-parts-modules): Den forward classes for third-party perSystem submodules: nix-unit on aspects, mightyiam/files generation, devshells, etc. 133 + 132 134 [example](https://den.oeiuwq.com/tutorials/example): cross-platform 133 135 134 136 [ci](https://den.oeiuwq.com/tutorials/ci): Each feature tested as code examples
+41
docs/src/content/docs/tutorials/flake-parts-modules.md
··· 1 + --- 2 + title: "Template: Flake Parts Modules" 3 + description: Den Forwarding classes for third-party flake-parts perSystem submodules. 4 + --- 5 + 6 + The `flake-parts-modules` template demonstrates how to use Den aspects 7 + that propagate custom classes into third-party flake-parts `perSystem` modules. 8 + 9 + For demo purposes, the example showcases: 10 + 11 + - `perSystem.packages`: How to expose flake-parts packages. 12 + - `numtide/devshell`: A default devshell extensible by any aspect. 13 + - `mightyiam/files`: Generates README from nix code. 14 + - `nix-community/nix-unit`: Write tests directly on aspects. 15 + 16 + ## Initialize 17 + 18 + ```console 19 + mkdir example && cd example 20 + nix flake init -t github:vic/den#flake-parts-modules 21 + nix flake update den 22 + nix flake show 23 + nix flake check -L 24 + ``` 25 + 26 + ## Project Structure 27 + 28 + ``` 29 + flake.nix 30 + modules/ 31 + perSystem-forward.nix # Custom den.ctx and perSystem forwarding class. 32 + custom-classes.nix # Registers several classes for each third-party 33 + den.nix # Example of aspects using those classes 34 + ``` 35 + 36 + Key points: 37 + - New `perSystem` classes are registered via a context transition, from any module. 38 + 39 + ## Next Steps 40 + 41 + - Read [flake.parts Documentation](https://flake.parts) for more `perSystem` modules.
+3
docs/src/content/docs/tutorials/overview.md
··· 19 19 | [**noflake**](/tutorials/noflake/) | Stable Nix, no flakes | ✗ | ✗ | ✗ | 20 20 | [**nvf-standalone**](/tutorials/nvf-standalone/) | Den based NVF without NixOS | ✓ | ✗ | ✗ | 21 21 | [**microvm**](/tutorials/microvm/) | MicroVM host and guests | ✓ | ✗ | ✗ | 22 + | [**flake-parts-modules**](/tutorials/flake-parts-modules/) | flake-parts perSystem submodules | ✓ | ✓ | ✗ | 22 23 | [**bogus**](/tutorials/bogus/) | Bug reproduction | ✓ | ✓ | ✓ | 23 24 | [**ci**](/tutorials/ci/) | Den's own test suite | ✓ | ✓ | ✓ | 24 25 ··· 56 57 - **example** — Namespaces, angle brackets, cross-platform (NixOS + Darwin), providers 57 58 - **noflake** — Using Den with npins instead of flakes 58 59 - **microvm** — Demostrates Den extensibility showcasing MicroVM virtualization. 60 + - **nvf-standalone** — Demostrates Den outside the NixOS/nix-Darwin framework. 61 + - **flake-parts-modules** — Integrate Den aspects with third-party flake-parts perSystem submodules. 59 62 - **bogus** — Creating minimal reproductions for bug reports with nix-unit 60 63 - **ci** — Comprehensive tests covering every Den feature (your best learning resource) 61 64