summary refs log tree commit diff
path: root/nixos/modules/services/mail
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2018-11-06 18:25:47 +0000
committerGitHub <noreply@github.com>2018-11-06 18:25:47 +0000
commit159a5f31bc85491dda380d778cab2f6b553206ba (patch)
tree18fac8b1da71693a0ec00f550681e53199a148bc /nixos/modules/services/mail
parent15995ea2b29d7253a74f75948ce881f29eeeafa1 (diff)
parentc853b3482455fccd949b5fd0bc16b44f8bc72f23 (diff)
downloadnixlib-159a5f31bc85491dda380d778cab2f6b553206ba.tar
nixlib-159a5f31bc85491dda380d778cab2f6b553206ba.tar.gz
nixlib-159a5f31bc85491dda380d778cab2f6b553206ba.tar.bz2
nixlib-159a5f31bc85491dda380d778cab2f6b553206ba.tar.lz
nixlib-159a5f31bc85491dda380d778cab2f6b553206ba.tar.xz
nixlib-159a5f31bc85491dda380d778cab2f6b553206ba.tar.zst
nixlib-159a5f31bc85491dda380d778cab2f6b553206ba.zip
Merge pull request #49792 from griff/rspamd-multifile-enable
nixos/rspamd: Fix enable for locals and overrides
Diffstat (limited to 'nixos/modules/services/mail')
-rw-r--r--nixos/modules/services/mail/rspamd.nix9
1 files changed, 5 insertions, 4 deletions
diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix
index d83d6f1f750c..78a2f37b6ded 100644
--- a/nixos/modules/services/mail/rspamd.nix
+++ b/nixos/modules/services/mail/rspamd.nix
@@ -153,9 +153,10 @@ let
       ${cfg.extraConfig}
    '';
 
+  filterFiles = files: filterAttrs (n: v: v.enable) files;
   rspamdDir = pkgs.linkFarm "etc-rspamd-dir" (
-    (mapAttrsToList (name: file: { name = "local.d/${name}"; path = file.source; }) cfg.locals) ++
-    (mapAttrsToList (name: file: { name = "override.d/${name}"; path = file.source; }) cfg.overrides) ++
+    (mapAttrsToList (name: file: { name = "local.d/${name}"; path = file.source; }) (filterFiles cfg.locals)) ++
+    (mapAttrsToList (name: file: { name = "override.d/${name}"; path = file.source; }) (filterFiles cfg.overrides)) ++
     (optional (cfg.localLuaRules != null) { name = "rspamd.local.lua"; path = cfg.localLuaRules; }) ++
     [ { name = "rspamd.conf"; path = rspamdConfFile; } ]
   );
@@ -207,7 +208,7 @@ in
       };
 
       locals = mkOption {
-        type = with types; loaOf (submodule (configFileModule "locals"));
+        type = with types; attrsOf (submodule (configFileModule "locals"));
         default = {};
         description = ''
           Local configuration files, written into <filename>/etc/rspamd/local.d/{name}</filename>.
@@ -220,7 +221,7 @@ in
       };
 
       overrides = mkOption {
-        type = with types; loaOf (submodule (configFileModule "overrides"));
+        type = with types; attrsOf (submodule (configFileModule "overrides"));
         default = {};
         description = ''
           Overridden configuration files, written into <filename>/etc/rspamd/override.d/{name}</filename>.