Files
smtprd-ng/flake.nix
Florian Brandes d3055a9e8b nixfmt
Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
2024-07-27 18:14:12 +02:00

64 lines
1.7 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;
nixfmt.package = pkgs.nixfmt-rfc-style;
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";
};
}
);
}