summaryrefslogtreecommitdiff
path: root/overlays/postfix-mta-sts-resolver/default.nix
blob: 919992fff2bb662438bd68b6ff22d3704f067eae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{ prev, final, flake, flakeInputs, sources, ... }:
{
  postfix-mta-sts-resolver =
    let
      workspace = flakeInputs.uv2nix.lib.workspace.loadWorkspace { workspaceRoot = prev.runCommand "sources" {} ''
        mkdir $out
        cp -r --no-preserve=all \
          ${sources.postfix-mta-sts-resolver.src}/. \
          ${prev.lib.sources.sourceByRegex ./. ["^pyproject\.toml$" "^uv\.lock$"]}/. \
          $out
      '';
      };
      pythonSet = flake.lib.pythonSet {
        pkgs = final;
        python = final.python312;
        overlay = workspace.mkPyprojectOverlay {
          sourcePreference = "wheel";
        };
      };
      virtualEnv = pythonSet.mkVirtualEnv "postfix-mta-sts-resolver-env" workspace.deps.default;
    in virtualEnv.overrideAttrs (oldAttrs: {
      meta = (oldAttrs.meta or {}) // {
        mainProgram = "mta-sts-daemon";
      };
    });
}