Files
smtprd-ng/devenv.nix
2025-10-28 21:21:34 +01:00

51 lines
947 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/
git-hooks.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/" ];
};
}