Files
smtprd-ng/flake.nix
2024-07-12 16:15:46 +02:00

46 lines
1.5 KiB
Nix

{
description = "SMTP forwarding relay daemon with signing and encryption";
inputs = {
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
};
outputs = { self, nixpkgs, flake-utils, pre-commit-hooks, }:
let supportedSystems = [ "x86_64-linux" "aarch64-darwin" ];
in {
nixosModules.smtprd-ng = import ./module.nix;
overlays.default = import ./overlay.nix { inherit self; };
} // flake-utils.lib.eachSystem supportedSystems (system:
let pkgs = import nixpkgs { inherit system; };
in {
packages = { smtprd-ng = pkgs.callPackage ./. { }; };
packages.default = self.packages.${system}.smtprd-ng;
checks = {
pre-commit-check = pre-commit-hooks.lib.${system}.run rec {
src = ./.;
hooks = {
nixfmt.enable = true;
autoflake.enable = true;
black.enable = true;
isort.enable = true;
isort.settings.flags = "--profile black";
pylint.enable =
false; # doesn't work correctly with module imports in flake
detect-private-keys.enable = true;
detect-private-keys.excludes = [ "tests/" ];
};
};
app = self.packages.${system}.smtprd-ng;
};
apps.default = {
type = "app";
program = "${self.packages.${system}.smtprd-ng}/bin/smtprd-ng";
};
});
}