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.

document releases

+87 -37
+3 -36
README.md
··· 34 34 35 35 ### [Batteries](https://den.oeiuwq.com/guides/batteries/) 36 36 37 + ### [Versioning](https://den.oeiuwq.com/releases/) 38 + 37 39 ### [Reference](https://den.oeiuwq.com/reference/ctx/) 38 40 39 41 ### [Tests as Code Examples](https://den.oeiuwq.com/tutorials/ci/) ··· 76 78 77 79 [`quasigod.xyz`](https://tangled.org/quasigod.xyz/nixconfig): Beautiful organization, uses custom Den namespaces and Den angle brackets (+flake-parts) 78 80 79 - [`Adda`](https://codeberg.org/Adda/nixos-config): A comprehensive system configuration for multiple hosts (+flake-parts +flake-file +home-manager +files) 81 + [`adda/nixos-config`](https://codeberg.org/Adda/nixos-config): Multiple hosts (+flake-parts +flake-file +home-manager +files) 80 82 81 83 Growing community adoption: [Usage Search](https://github.com/search?q=den.aspects+language%3ANix&type=code) - [AI Instructions Search](https://github.com/search?q=%28den.aspects+OR+vic%2Fden%29++language%3AMarkdown+%28agent+OR+claude+OR+gemini+OR+readme%29&type=code) 82 84 ··· 113 115 114 116 > Den is a playground for some very advanced concepts. I’m convinced that some of its ideas will play a role in future Nix areas. In my opinion there are some raw diamonds in Den.\ 115 117 > — `@Doc-Steve` - Author of [Dendritic Design Guide](https://github.com/Doc-Steve/dendritic-design-with-flake-parts) 116 - 117 - ## Den Versioning - `v0.x` is moving fast 118 - 119 - Den `main` always requires flake-aspects `main`. Same for `latest` versions. 120 - 121 - ```nix 122 - # Bleeding edge Den 123 - { 124 - inputs.den.url = "github:vic/den"; 125 - inputs.flake-aspects.url = "github:vic/flake-aspects"; 126 - } 127 - ``` 128 - 129 - `main` branch follows development, this is where PRs are merged, it is stable in the sense 130 - that every PR checks CI. However, some PR might introduce changes that require you being 131 - aware of what is happening in Den. For people tracking development, we have announcements 132 - tagged `heads-up` whenever this happens. 133 - 134 - ```nix 135 - # Released Den - no longer gets updates until next release 136 - { 137 - inputs.den.url = "github:vic/den/latest"; 138 - inputs.flake-aspects.url = "github:vic/flake-aspects/latest"; 139 - } 140 - ``` 141 - 142 - `latest` tag always follows the latest created tag. This is intended for people that wishes 143 - to wait for a release and reading all announcements at release notes. if you flake update, you 144 - will only move between release points. 145 - 146 - > Diff of changes since latest release: [latest...main](https://github.com/vic/den/compare/latest...main) 147 - 148 - For other than main and latest versions, each release-notes documents the particular 149 - flake-aspects version needed by Den. This is because flake-aspects can be used independently of Den, 150 - and it does not follows Den version numbers because it is not as fast-paced as Den. 151 118 152 119 ## Code example (OS configuration domain) 153 120
+1
docs/astro.config.mjs
··· 34 34 items: [ 35 35 { label: 'Overview', slug: 'overview' }, 36 36 { label: 'Motivation', slug: 'motivation', }, 37 + { label: 'Versioning', slug: 'releases' }, 37 38 { label: 'Community', slug: 'community' }, 38 39 { label: 'Contributing', slug: 'contributing' }, 39 40 ],
+1 -1
docs/src/components/SocialIcons.astro
··· 4 4 5 5 --- 6 6 7 - <a href="https://github.com/vic/den/discussions?discussions_q=label%3Aheads-up"><img src="https://img.shields.io/badge/main-HeadsUp-ff7600?logo=tip&logoColor=white" alt="Sponsor Den"/> 7 + <a href="/releases#bleeding-edge-den"><img src="https://img.shields.io/badge/main-HeadsUp-ff7600?logo=tip&logoColor=white" alt="Sponsor Den"/> 8 8 9 9 <a href="https://github.com/vic/den/releases"><img src="https://img.shields.io/github/v/release/vic/den?logo=github&color=white"/></a> 10 10
+82
docs/src/content/docs/releases.mdx
··· 1 + --- 2 + title: Den Releases and Versioning 3 + description: How Den is versioned and release notes 4 + --- 5 + 6 + import { Aside } from '@astrojs/starlight/components'; 7 + 8 + <Aside icon="rocket" title="Den v0 series"> 9 + 10 + Den is currently at `v0.x` series. That does not mean it is unstable, 11 + we have >180 tests in our CI and each new feature is always tested. 12 + 13 + What `v0.x` means is that Den development is currently fast-paced, 14 + evolving and being shaped by its current users. 15 + 16 + If you would like something to be 17 + possible with Den, _now_ is the time when all users help shape Den. 18 + Until it reaches a more definitive form. 19 + </Aside> 20 + 21 + ## Den Dependencies. 22 + 23 + `den.lib` is built with [`flake-aspects`](https://github.com/vic/flake-aspects) 24 + and Den framework uses a [`import-tree`](https://github.com/vic/import-tree) to 25 + load its `modules/` directory. Of these two, only `flake-aspects` version is 26 + important because it provides the underlying aspects features Den uses. 27 + 28 + Some people use `flake-aspects` independently of Den, 29 + and it does not follow Den versioning numbers 30 + because it is not as fast-paced as Den. 31 + 32 + 33 + ## Bleeding-Edge Den 34 + 35 + **The `main` branch of Den will always depend on flake-aspects `main` branch**. 36 + 37 + This branch follows development, this is where PRs are merged, it is stable in the sense that every PR checks CI. 38 + 39 + ```nix 40 + # flake.nix 41 + # Main Den - updates on each PR merge 42 + { 43 + inputs.den.url = "github:vic/den"; 44 + inputs.flake-aspects.url = "github:vic/flake-aspects"; 45 + } 46 + ``` 47 + 48 + <Aside type="caution" icon="rss" title="Heads-up Announcements"> 49 + However, some PR might introduce changes that require you being aware of what is happening in Den. For people tracking `main` development, we have [announcements 50 + tagged `heads-up`](https://github.com/vic/den/discussions?discussions_q=label%3Aheads-up) whenever something important happens. These announcements are also forwarded to Zulip and Matrix channels. 51 + </Aside> 52 + 53 + 54 + ## Latest Den 55 + 56 + Den has a `latest` tag that always follows the latest created release tag. 57 + 58 + > Diff of changes since latest release: [latest...main](https://github.com/vic/den/compare/latest...main) 59 + 60 + **The `latest` version of Den will always depend on flake-aspects `latest`**. 61 + 62 + This is intended for people that wishes to move only between release points. 63 + People still need to read `Release Notes` since they might contain important 64 + information on how Den is evolving. 65 + 66 + 67 + ```nix 68 + # flake.nix 69 + # Latest Den - no longer gets updates until next release 70 + { 71 + inputs.den.url = "github:vic/den/latest"; 72 + inputs.flake-aspects.url = "github:vic/flake-aspects/latest"; 73 + } 74 + ``` 75 + 76 + ## Released Den 77 + 78 + For other than `main` and `latest` versions, each `Release Notes` document 79 + detailsthe particular flake-aspects version needed by Den. 80 + 81 + **Read [Den Releases](https://github.com/vic/den/releases)** 82 +