An SMTP and LMTP client and server library for Zig, with TLS, SASL, PIPELINING, CHUNKING, DSN and the PROXY protocol.
1.6 kB
73 lines
1# SPDX-FileCopyrightText: © 2026 Jeffrey C. Ollie <jeff@ocjtech.us>
2# SPDX-License-Identifier: MIT
3
4{
5 description = "";
6
7 inputs = {
8 nixpkgs = {
9 url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst";
10 };
11 };
12
13 outputs =
14 {
15 nixpkgs,
16 ...
17 }:
18 let
19 inherit (nixpkgs) lib;
20 linuxSystems = builtins.filter (
21 system: (lib.systems.elaborate system).isLinux
22 ) lib.systems.flakeExposed;
23 makePackages =
24 system:
25 import nixpkgs {
26 inherit system;
27 };
28 forAllSystems = lib.genAttrs linuxSystems;
29 in
30 {
31 packages = forAllSystems (
32 system:
33 let
34 pkgs = makePackages system;
35 in
36 rec {
37 zig-smtp = pkgs.callPackage ./package.nix { };
38 default = zig-smtp;
39 zig-deps = pkgs.callPackage ./build.zig.zon.nix { };
40 }
41 );
42
43 checks = forAllSystems (
44 system:
45 let
46 pkgs = makePackages system;
47 in
48 {
49 zig-smtp = pkgs.callPackage ./package.nix { };
50 interop = pkgs.callPackage ./nix/interop-test.nix { };
51 }
52 );
53
54 devShells = forAllSystems (
55 system:
56 let
57 pkgs = makePackages system;
58 in
59 {
60 default = pkgs.mkShell {
61 name = "zig-smtp";
62 nativeBuildInputs = [
63 pkgs.git-pages-cli
64 pkgs.kcov
65 pkgs.radicle-node
66 pkgs.reuse
67 pkgs.zig_0_16
68 ];
69 };
70 }
71 );
72 };
73}