{ 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 = { nixfmt.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; detect-private-keys.excludes = [ "tests/" ]; }; # https://devenv.sh/processes/ # processes.ping.exec = "ping example.com"; # See full reference at https://devenv.sh/reference/options/ }