Files

55 lines
1.7 KiB
Nix
Raw Permalink Normal View History

{
description = "Unauthenticated POP3/SMTP front end proxied to authenticated IMAPS/SMTPS backends";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
outputs =
{ self, nixpkgs }:
let
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = fn: nixpkgs.lib.genAttrs systems (system: fn nixpkgs.legacyPackages.${system});
in
{
overlays.default = final: _prev: {
legacy-email-proxy = final.callPackage ./package.nix { };
};
packages = forAllSystems (pkgs: rec {
legacy-email-proxy = pkgs.callPackage ./package.nix { };
default = legacy-email-proxy;
});
# The NixOS module with its package option pointed at this flake's build,
# so consumers need no overlay. Use nixosModules.legacy-email-proxy
# instead if you would rather apply overlays.default yourself.
nixosModules.default =
{ lib, pkgs, ... }:
{
imports = [ ./module.nix ];
services.legacy-email-proxy.package =
lib.mkDefault
self.packages.${pkgs.stdenv.hostPlatform.system}.legacy-email-proxy;
};
nixosModules.legacy-email-proxy = ./module.nix;
# The package builds only if the test suite passes, so this covers both.
checks = forAllSystems (pkgs: {
inherit (self.packages.${pkgs.system}) legacy-email-proxy;
});
devShells = forAllSystems (pkgs: {
default = pkgs.mkShellNoCC {
inputsFrom = [ self.packages.${pkgs.system}.legacy-email-proxy ];
packages = [ pkgs.python3Packages.pytest ];
};
});
formatter = forAllSystems (pkgs: pkgs.nixfmt-tree);
};
}