Files
smtprd-ng/devenv.nix
2024-07-06 11:47:44 +02:00

64 lines
1.2 KiB
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/tests/
# enterTest = ''
# echo "Running tests"
# git --version | grep "2.42.0"
# '';
# https://devenv.sh/services/
# services.postgres.enable = true;
# 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 = {
nixpkgs-fmt.enable = true;
# 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;
};
# https://devenv.sh/processes/
# processes.ping.exec = "ping example.com";
# See full reference at https://devenv.sh/reference/options/
}