unfree changes between v0.15.0 and v0.16.0? #459
-
|
Hello, After upgrading den from v0.15.0 to v0.16.0, unfree battery seems to not work anymore: with the following aspects: { den, inputs, ... }:
{
den.aspects.apps._.diagram = {
includes = [
(den._.unfree [
"drawio"
])
];
homeManager =
{ pkgs, ... }:
{
home.packages = with pkgs; [
drawio
];
};
};
}
---
# User aspect
{ __findFile, den, ... }:
{
den.aspects.benjamin = {
includes = [ <apps/diagram> ];
};
}I don't see any API change in the documentation. It is a regression? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 8 replies
-
|
After sleeping on this I think there might be a real issue here that was both intentional, and unintentional. I apologize for the regression in behavior. I haven't tested yet to verify, but what I suspect is happening is this: We updated aspects to give them proper identity based on their declaration path and name. De-duplication triggers on this improved identity. De-duplication is aware of perHost/perUser parametric aspects. This didn't account for parametrized aspects which aren't fed by the context pipeline, as is the example with the unfree battery. Tests likely didn't catch this because they only test one unfree evocation. I tried to replicate your report verbatim when it got linked to me, and my test passed. That's why I asked if your flake was public on matrix. :) So... I think that's probably what's happening and if it is, it might be complicated to fix -- not just a one liner -- but I promise to fix it ASAP. |
Beta Was this translation helpful? Give feedback.
-
Yes, I have many <apps/xxx> aspects with unfree.
Please find a minimal extract of my configuration with the issue in https://github.com/blemouzy/bugs-den: |
Beta Was this translation helpful? Give feedback.
After sleeping on this I think there might be a real issue here that was both intentional, and unintentional. I apologize for the regression in behavior. I haven't tested yet to verify, but what I suspect is happening is this:
We updated aspects to give them proper identity based on their declaration path and name.
De-duplication triggers on this improved identity. De-duplication is aware of perHost/perUser parametric aspects.
This didn't account for parametrized aspects which aren't fed by the context pipeline, as is the example with the unfree battery.
Tests likely didn't catch this because they only test one unfree evocation. I tried to replicate your report verbatim when it got linked…