lol
1{ lib, stdenv, writeText, runtimeShell }:
2
3let script = writeText "script" ''
4 #!${runtimeShell}
5
6 if command -v sendmail > /dev/null 2>&1 && [ "$(command -v sendmail)" != "{{MYPATH}}" ]; then
7 exec sendmail "$@"
8 elif [ -x /run/wrappers/bin/sendmail ]; then
9 exec /run/wrappers/bin/sendmail "$@"
10 elif [ -x /run/current-system/sw/bin/sendmail ]; then
11 exec /run/current-system/sw/bin/sendmail "$@"
12 else
13 echo "Unable to find system sendmail." >&2
14 exit 1
15 fi
16''; in
17stdenv.mkDerivation {
18 pname = "system-sendmail";
19 version = "1.0";
20
21 src = script;
22
23 dontUnpack = true;
24 dontInstall = true;
25
26 buildPhase = ''
27 mkdir -p $out/bin
28 < $src sed "s#{{MYPATH}}#$out/bin/sendmail#" > $out/bin/sendmail
29 chmod +x $out/bin/sendmail
30 '';
31
32 meta = with lib; {
33 description = ''
34 A sendmail wrapper that calls the system sendmail. Do not install as system-wide sendmail!
35 '';
36 platforms = platforms.unix;
37 maintainers = with maintainers; [ ekleog ];
38 mainProgram = "sendmail";
39 };
40}