Merge pull request #33227 from Ekleog/fcron-opensmtpd

fcron module: be compatible with non-wrapped sendmail's, like opensmt…

Changed files
+18 -10
nixos
modules
services
scheduling
+18 -10
nixos/modules/services/scheduling/fcron.nix
···
[ (allowdeny "allow" (cfg.allow))
(allowdeny "deny" cfg.deny)
# see man 5 fcron.conf
-
{ source = pkgs.writeText "fcron.conf" ''
-
fcrontabs = /var/spool/fcron
-
pidfile = /var/run/fcron.pid
-
fifofile = /var/run/fcron.fifo
-
fcronallow = /etc/fcron.allow
-
fcrondeny = /etc/fcron.deny
-
shell = /bin/sh
-
sendmail = /run/wrappers/bin/sendmail
-
editor = ${pkgs.vim}/bin/vim
-
'';
target = "fcron.conf";
gid = config.ids.gids.fcron;
mode = "0644";
···
[ (allowdeny "allow" (cfg.allow))
(allowdeny "deny" cfg.deny)
# see man 5 fcron.conf
+
{ source =
+
let
+
isSendmailWrapped =
+
lib.hasAttr "sendmail" config.security.wrappers;
+
sendmailPath =
+
if isSendmailWrapped then "/run/wrappers/bin/sendmail"
+
else "${config.system.path}/bin/sendmail";
+
in
+
pkgs.writeText "fcron.conf" ''
+
fcrontabs = /var/spool/fcron
+
pidfile = /var/run/fcron.pid
+
fifofile = /var/run/fcron.fifo
+
fcronallow = /etc/fcron.allow
+
fcrondeny = /etc/fcron.deny
+
shell = /bin/sh
+
sendmail = ${sendmailPath}
+
editor = ${pkgs.vim}/bin/vim
+
'';
target = "fcron.conf";
gid = config.ids.gids.fcron;
mode = "0644";