v0.10.0 #193
vic
announced in
Announcements
v0.10.0
#193
Replies: 0 comments
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.10.0Highlights
Updated documentation
I have put a lot of my time on trying to detail as much as I can about Den in the docs. As always everyone is invited to improve the docs and fix my english grammar-errors/typos.
As always the source of truth is the source code itself, and all CI tests are self-isolated intended to be used also as complete den examples each of them.
bogus and CI run on MacOS (again)
To enable people contribute more tests to Den. I've also updated the bogus repo with cleaner test setup, in hope that people can contribute more tests. You are welcome to send PRs with new tests even if they are failing and have no fix, the bogus and CI templates both use the same test helpers. Also updated docs about this.
den.ctxnow deduplicates includes at context-application time docs code.Den keeps track of which aspect-owned configs have already been seen, but functional includes are always called (there's no way for den to know
{ host, user }was included elsewhere). However this static config deduplication already fixes some failing tests contributed from bogus-reports.The documented recommendation is not to naively use
den.default.includes = [ ({ host, ... }: ...) ], and prefer including at specific host orden.ctx.hostand friends. Or read about the documented limitations ofden.defaultand the need oftake.exactly.Den now has a
userclass that works on NixOS and nix-Darwin.This is powered by our
den.provides.forwardhigher-order aspect,the exact same that powers our
homeManagerclass.User aspects can use the
userclass to specify any setting that will be forwarded to the host:nixos.users.users.<username>:This is a convenience for people like me not using homeManager.
Users can now declare many home-environment classes.
Previously
user.classdefaulted to"homeManager", now it was replaced byuser.classesdefaults to[ "homeManager" ],this is because a user might want to manage some files using nix-maid or hjem instead or addition to homeManager.
userclass, we now also support nix-maidmaidandhjemuser-aspect classes.These two work exactly like homeManager does, that means we also have
den.ctx.maid-hostandden.ctx.hjem-hostcontext types that are activated when a host has users with the correspondinguser.classes.Guarded forward classes.
This is another feature built on top of
den.provides.forward.People requested the following feature: I want my aspect to assign configs directly to a class and that config be included in the host only if some third-party module was imported (main use case was Impermanence options):
Aspect defines config under a custom user-defined
persistclass:host defines how and when the persist class is forwarded into the host configuration. all other files need not to be filled with mkIf or any other conditional checking for impermanence support, only one file does this:
What's Changed
userclass, convenience for OSusers.users.userNameby @vic inuserclass, convenience for OSusers.users.userName#170noflaketemplate by @drupol in fix: add missingnoflaketemplate #178New Contributors
noflaketemplate #178Full Changelog: v0.9.0...v0.10.0
This discussion was created from the release v0.10.0.
Beta Was this translation helpful? Give feedback.
All reactions