[Nix-dev] nix modules: Unsetting attrsOf options?
Rickard Nilsson
rickard.nilsson at telia.com
Wed Sep 7 12:12:23 CEST 2016
On 09/07/2016 11:54 AM, 4levels wrote:
> Hi Rickard,
>
> All I can think of currently is that you could create a new config
> variable using filterAttrs to keep only the information you need.
> Not sure if this solves your question though as I'm not aware if you can
> use another variable in your scenario.
Using filterAttrs like this would introduce an infinite recursion, I think:
config = {
myattrs = filterAttrs (k: _: k != "a") config.myattrs;
}
But maybe that wasn't what you had in mind.
For the issue that spurred this question I have now added an "enable"
option for the attributes, see: https://github.com/NixOS/nixpkgs/pull/18391
However, that is not a general solution to this problem, so any further
hints are welcome.
/ Rickard
> Kind regards,
>
> Erik
>
> On Wed, Sep 7, 2016 at 12:35 AM Rickard Nilsson
> <rickard.nilsson at telia.com <mailto:rickard.nilsson at telia.com>> wrote:
>
> Is it possible to unset an attrsOf option? Say I import a module that
> looks like this:
>
> options = {
> myattrs = mkOption {
> type = types.attrsOf ...
> default = {};
> };
> }
>
> config = {
> myattrs = {
> a = ...
> b = ...
> };
> };
>
> And then I want to remove the "a" attribute in the importing config:
>
> config = {
> myattrs.a = mkForce ...
> }
>
> Is that possible in any way?
>
>
> / Rickard
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl <mailto:nix-dev at lists.science.uu.nl>
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
More information about the nix-dev
mailing list