1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-25 11:19:47 +01:00
home-manager/tests/lib/types
Naïm Favier 8db712a6a2
types: fix dagOf behaviour with mkIf
This makes definitions like

    home.activation.foo = mkIf false "bar"

work, where previously they would complain about
`home.activation.foobar.data` being used but not defined.

The crucial part is that we don't call `convertAllToDags` in
`dagOf.merge`, because we need to process `mkIf`/`mkMerge` properties
first. So we let `attrEquivalent.merge` do its job normally, but give
it a type `dagEntryOf` that does the conversion.

Ideally this shouldn't require so much boilerplate; I'd like to
implement something like

    types.changeInto dagContentType elemType dagEntryAnywhere

in Nixpkgs.
2022-03-30 23:29:09 +02:00
..
dag-merge-result.txt lib: add type generators dagOf and listOrDagOf 2020-01-16 00:16:09 +01:00
dag-merge.nix types: fix dagOf behaviour with mkIf 2022-03-30 23:29:09 +02:00
dag-submodule.nix lib: remove top-level with lib 2021-10-31 08:50:53 +01:00
default.nix types: improve dagOf and listOrDagOf 2020-04-13 22:01:20 +02:00
gvariant-merge.nix lib: remove top-level with lib 2021-10-31 08:50:53 +01:00
list-or-dag-merge-result.txt lib: add type generators dagOf and listOrDagOf 2020-01-16 00:16:09 +01:00
list-or-dag-merge.nix lib: remove top-level with lib 2021-10-31 08:50:53 +01:00