about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSilvan Mosberger <infinisil@icloud.com>2019-05-01 00:06:11 +0200
committerSilvan Mosberger <infinisil@icloud.com>2019-05-01 00:06:11 +0200
commita27dc9d3ab31634d40905926203484e5d0f3336c (patch)
tree5fca0de6ed97f74fcec89c9d830b14fa40dd222e
parent9db70b6a2ad49e68893a8039cd2f3fd1446063b2 (diff)
downloadnixlib-a27dc9d3ab31634d40905926203484e5d0f3336c.tar
nixlib-a27dc9d3ab31634d40905926203484e5d0f3336c.tar.gz
nixlib-a27dc9d3ab31634d40905926203484e5d0f3336c.tar.bz2
nixlib-a27dc9d3ab31634d40905926203484e5d0f3336c.tar.lz
nixlib-a27dc9d3ab31634d40905926203484e5d0f3336c.tar.xz
nixlib-a27dc9d3ab31634d40905926203484e5d0f3336c.tar.zst
nixlib-a27dc9d3ab31634d40905926203484e5d0f3336c.zip
nixos/znc: Fix config generator for certain null values
The type of ZNC's config option specifies that a configuration like

  config.User.paul = null;

should be valid, which is useful for clearing/disabling property sets
like Users and Networks. However until now the config generator
implementation didn't actually cover null values, meaning you'd get an
error like

  error: value is null while a set was expected, at /foo.nix:29:10

This fixes the implementation to correcly allow clearing of property
sets.
-rw-r--r--nixos/modules/services/networking/znc/default.nix4
1 files changed, 2 insertions, 2 deletions
diff --git a/nixos/modules/services/networking/znc/default.nix b/nixos/modules/services/networking/znc/default.nix
index 1ad8855b86db..46bff6954cdd 100644
--- a/nixos/modules/services/networking/znc/default.nix
+++ b/nixos/modules/services/networking/znc/default.nix
@@ -47,11 +47,11 @@ let
           #     Baz=baz
           #     Qux=qux
           #   </Foo>
-          set = concatMap (subname: [
+          set = concatMap (subname: optionals (value.${subname} != null) ([
               "<${name} ${subname}>"
             ] ++ map (line: "\t${line}") (toLines value.${subname}) ++ [
               "</${name}>"
-            ]) (filter (v: v != null) (attrNames value));
+            ])) (filter (v: v != null) (attrNames value));
 
         }.${builtins.typeOf value};