clamav module: make services.clamav.daemon.enable actually work #30870
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Turning
services.clamav.daemon.enable = true
withoutupdater.enable
also totrue
had no effect. This PR fixes this and replaces somemkIf
's withoptionalAttrs
.The issue seems to be that
mkIf cfg.updater.enable or cfg.daemon.enable { ... }
was parsed asmkIf (cfg.updater.enable or cfg.daemon.enable) { ... }
(or
binds stronger than function application), which then was always equivalent tomkIf cfg.updater.enable { ... }
, as the option was always defined, be it with its default value or with its user-defined value.Thanks @rycee for your help in understanding how it was actually able to parse and execute semi-correctly before this change! (I was convinced the
or
was nixpkgs'lib.or
, before that)