From 68dee151ef64cd072f3167e60ad7119b8f3d038a Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 24 Aug 2024 22:05:32 +0200 Subject: [PATCH] nixos/services.clamsmtp: remove `with lib;` --- nixos/modules/services/mail/clamsmtp.nix | 66 ++++++++++++------------ 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/nixos/modules/services/mail/clamsmtp.nix b/nixos/modules/services/mail/clamsmtp.nix index 5bcf8ecdde1a..d40ed7bf6e2d 100644 --- a/nixos/modules/services/mail/clamsmtp.nix +++ b/nixos/modules/services/mail/clamsmtp.nix @@ -1,6 +1,4 @@ { config, lib, pkgs, ... }: - -with lib; let cfg = config.services.clamsmtp; clamdSocket = "/run/clamav/clamd.ctl"; # See services/security/clamav.nix @@ -9,17 +7,17 @@ in ##### interface options = { services.clamsmtp = { - enable = mkOption { - type = types.bool; + enable = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether to enable clamsmtp."; }; - instances = mkOption { + instances = lib.mkOption { description = "Instances of clamsmtp to run."; - type = types.listOf (types.submodule { options = { - action = mkOption { - type = types.enum [ "bounce" "drop" "pass" ]; + type = lib.types.listOf (lib.types.submodule { options = { + action = lib.mkOption { + type = lib.types.enum [ "bounce" "drop" "pass" ]; default = "drop"; description = '' Action to take when a virus is detected. @@ -29,8 +27,8 @@ in ''; }; - header = mkOption { - type = types.str; + header = lib.mkOption { + type = lib.types.str; default = ""; example = "X-Virus-Scanned: ClamAV using ClamSMTP"; description = '' @@ -39,8 +37,8 @@ in ''; }; - keepAlives = mkOption { - type = types.int; + keepAlives = lib.mkOption { + type = lib.types.int; default = 0; description = '' Number of seconds to wait between each NOOP sent to the sending @@ -51,8 +49,8 @@ in ''; }; - listen = mkOption { - type = types.str; + listen = lib.mkOption { + type = lib.types.str; example = "127.0.0.1:10025"; description = '' Address to wait for incoming SMTP connections on. See @@ -60,8 +58,8 @@ in ''; }; - quarantine = mkOption { - type = types.bool; + quarantine = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to quarantine files that contain viruses by leaving them @@ -69,22 +67,22 @@ in ''; }; - maxConnections = mkOption { - type = types.int; + maxConnections = lib.mkOption { + type = lib.types.int; default = 64; description = "Maximum number of connections to accept at once."; }; - outAddress = mkOption { - type = types.str; + outAddress = lib.mkOption { + type = lib.types.str; description = '' Address of the SMTP server to send email to once it has been scanned. ''; }; - tempDirectory = mkOption { - type = types.str; + tempDirectory = lib.mkOption { + type = lib.types.str; default = "/tmp"; description = '' Temporary directory that needs to be accessible to both clamd @@ -92,20 +90,20 @@ in ''; }; - timeout = mkOption { - type = types.int; + timeout = lib.mkOption { + type = lib.types.int; default = 180; description = "Time-out for network connections."; }; - transparentProxy = mkOption { - type = types.bool; + transparentProxy = lib.mkOption { + type = lib.types.bool; default = false; description = "Enable clamsmtp's transparent proxy support."; }; - virusAction = mkOption { - type = with types; nullOr path; + virusAction = lib.mkOption { + type = with lib.types; nullOr path; default = null; description = '' Command to run when a virus is found. Please see VIRUS ACTION in @@ -113,8 +111,8 @@ in ''; }; - xClient = mkOption { - type = types.bool; + xClient = lib.mkOption { + type = lib.types.bool; default = false; description = '' Send the XCLIENT command to the receiving server, for forwarding @@ -143,19 +141,19 @@ in TimeOut: ${toString conf.timeout} TransparentProxy: ${if conf.transparentProxy then "on" else "off"} User: clamav - ${optionalString (conf.virusAction != null) "VirusAction: ${conf.virusAction}"} + ${lib.optionalString (conf.virusAction != null) "VirusAction: ${conf.virusAction}"} XClient: ${if conf.xClient then "on" else "off"} ''; in - mkIf cfg.enable { + lib.mkIf cfg.enable { assertions = [ { assertion = config.services.clamav.daemon.enable; message = "clamsmtp requires clamav to be enabled"; } ]; - systemd.services = listToAttrs (imap1 (i: conf: - nameValuePair "clamsmtp-${toString i}" { + systemd.services = lib.listToAttrs (lib.imap1 (i: conf: + lib.nameValuePair "clamsmtp-${toString i}" { description = "ClamSMTP instance ${toString i}"; wantedBy = [ "multi-user.target" ]; script = "exec ${pkgs.clamsmtp}/bin/clamsmtpd -f ${configfile conf}";