v0.12.0 #271
vic
announced in
Announcements
v0.12.0
#271
Replies: 1 comment
-
|
Just updated and it was pleasantly uneventful in the best way! Now I just need to get rid of all those |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Den v0.12.0. aka. All Things Must Pass
Where
All Things= contexts, aspects and schemas that are now part of custom namespaces and can be passed around between flakes.This release was about stabilization and performance, moving towards a more stable Den that can actually be used for sharing dendritic aspects across projects.
This paves the road for Den social goals and in particular to enable what is needed for github:vic/denful project in coming weeks.
NOTE Den@0.12.0 requires flake-aspects@0.7.0
What's Changed
All aspects are now
parametric {}by default.This is huge QOL improvement for Den users, previously an aspect
foo = { includes = [ x y ]; }was simply an attribute set that knew nothing about propagating context, for that we had to usefoo = parametric { ... }so that included aspects were given the correct context.From now on, all aspects that don't have an explicit functor set by people, are
parametric {}by default.den.baseis nowden.schema.See #235
Templates now expose nh-based apps for building hosts/homes.
PR #233
Thanks to Dendritic, you can just copy
modules/nh.nixmodule from them into your projects and it should just work.New batteries
den._.hostname-- sets the hostName.den._.mutual-provider-- for one-to-one mutual config contribution between host and user. See the documentation for more on these.MicroVM template
Our new MicroVM template showcases Den extensibility, custom extensions to den.schema and den.ctx to enable microvm guests nested in microvm hosts.
New Guides:
From Zero To DenandFrom Flake to DenAvailable at https://den.oeiuwq.com/guides/from-zero-to-den .
Small Performance Improvements
We had a discussion about Den evaluation time #249, up until now we had done absolutely nothing about performance. As good (lazy) engineer I've delayed thinking about performance until it is actually measurable and actionable.
So I used hyperfine to measure some changes on a couple of places from flake-aspects resolve and Den where I believe we could have improvements. No profiling yet specific functions or zones to see what needs to be changed, I just went to modify what I believed from the top of my head to be quick fixes. I used our own test suite to benchmark changes:
Run comparission 20 runs (10 warmup) of all our CI tests between
perfbranch andmainbefore it.perf is:
den@dd8fac7355be4cfe7a143bce45cbba3d786d8be1withflake-aspects@81a51a8997abe392b9d0794424a4823adc9bd3afmain is:
den@69682fffa09d57fb8a8dbf367252dbedca023207withflake-aspects@778d8d7c1352c3b173cdcb9fd0f65acbaf4744a6Benchmarks are always to be taken with a graint of salt, because specific hardware, and we are talking about Nix (IO intensive) and not the fastest interpreter, I'm using community nix btw. I'm not as focused in lowering these numbers unless we can get some help from people who are actually performance engineers. I'm not.
And this benchmark is not that accurate because perf had additional tests than old main .
Anyways a bit of speed is never bad.
hjem,maid,home-manager have same den.ctx behaviour
Unified how
hm-user,hjem-userandmaid-usercontexts work. This also fixed #254 whereden.ctx.hm-userwas never being applied. We now have test ensuring that this works also forden.ctx.hjem-userand other home envs. Seehjem.nixand others, they are now really simple, people can create their own home environments usingden.lib.home-envto integrate other nix libs.Fixed importing parametric aspects across flakes
This was previously a big limitation that was preventing us to share parametric aspects. We were able to share static ones, but Den is about parametric, so this was really important specially for the Denful project to start. Tests at #259
"From Zero To Den" Fixes
@ulfbayte helped us by following the Zero To Den guide and actually executing each command there and fixing inaccuracies introduced by me while writing and not running stuff :) Thanks to that the guide will be much better for people new to Nix and Den.
Merged Pull-Requests
den._.hostnameand .. by @musjj in feat(battery): Newden._.hostnameand .. #236.intoto be a function to attrs by @vic in feat(ctx): Allow.intoto be a function to attrs #251New Contributors
Full Changelog: v0.11.0...v0.12.0
This discussion was created from the release v0.12.0.
Beta Was this translation helpful? Give feedback.
All reactions