diff options
Diffstat (limited to 'flakes/mypackages/lib/default.nix')
-rw-r--r-- | flakes/mypackages/lib/default.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/flakes/mypackages/lib/default.nix b/flakes/mypackages/lib/default.nix new file mode 100644 index 0000000..972ace0 --- /dev/null +++ b/flakes/mypackages/lib/default.nix | |||
@@ -0,0 +1,37 @@ | |||
1 | { | ||
2 | flakePartsAddPerSystem = import ./flake-parts-lib.nix; | ||
3 | nodeEnv = import ./node-env.nix; | ||
4 | postfixScript = pkgs: name: script: pkgs.writeScript name '' | ||
5 | #! ${pkgs.stdenv.shell} | ||
6 | mail=$(${pkgs.coreutils}/bin/cat -) | ||
7 | output=$(echo "$mail" | ${script} 2>&1) | ||
8 | ret=$? | ||
9 | |||
10 | if [ "$ret" != "0" ]; then | ||
11 | echo "$mail" \ | ||
12 | | ${pkgs.procmail}/bin/formail -i "X-Return-Code: $ret" \ | ||
13 | | /run/wrappers/bin/sendmail -i scripts_error+${name}@mail.immae.eu | ||
14 | |||
15 | messageId=$(echo "$mail" | ${pkgs.procmail}/bin/formail -x "Message-Id:") | ||
16 | repeat=$(echo "$mail" | ${pkgs.procmail}/bin/formail -X "From:" -X "Received:") | ||
17 | |||
18 | ${pkgs.coreutils}/bin/cat <<EOF | /run/wrappers/bin/sendmail -i scripts_error+${name}@mail.immae.eu | ||
19 | $repeat | ||
20 | To: scripts_error+${name}@mail.immae.eu | ||
21 | Subject: Log from script error | ||
22 | Content-Type: text/plain; charset="UTF-8" | ||
23 | Content-Transfer-Encoding: 8bit | ||
24 | References:$messageId | ||
25 | MIME-Version: 1.0 | ||
26 | X-Return-Code: $ret | ||
27 | |||
28 | Error code: $ret | ||
29 | Output of message: | ||
30 | -------------- | ||
31 | $output | ||
32 | -------------- | ||
33 | EOF | ||
34 | fi | ||
35 | ''; | ||
36 | |||
37 | } | ||