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

51 lines
946 B
Nix

{
pkgs,
lib,
config,
inputs,
...
}:
let
req = pkgs.concatText "req" [
./requirements.txt
./requirements-dev.txt
];
in
{
# https://devenv.sh/packages/
packages = [
pkgs.file
pkgs.swig4
pkgs.openssl
];
# https://devenv.sh/languages/
languages.nix.enable = true;
languages.python = {
enable = true;
venv = {
enable = true;
requirements = builtins.readFile req;
};
};
# https://devenv.sh/pre-commit-hooks/
pre-commit.hooks = {
nixfmt.enable = true;
nixfmt.package = pkgs.nixfmt-rfc-style;
# remove unused imports
autoflake.enable = true;
# formatter
black.enable = true;
# sort imports
isort.enable = true;
# same profile for black and isort
isort.settings.flags = "--profile black";
# look for code smell
pylint.enable = true;
detect-private-keys.enable = true;
detect-private-keys.excludes = [ "tests/" ];
};
}