diff --git a/shell.nix b/shell.nix index 023fc1bdb969c66f6b0d8da9d0c3b638396b96f1..9388b7353038ee1c1311a1a9d40027d7d4419692 100644 --- a/shell.nix +++ b/shell.nix @@ -2,13 +2,55 @@ # work on Nix 2.3. It works with Nix 2.5. I'm not sure about 2.4. { ... }@args: let - tests = import ./tests.nix args; - inherit (tests) pkgs; + privatestorage = import ./. args; + inherit (privatestorage) pkgs mach-nix tahoe-lafs zkapauthorizer; + + pythonVersion = zkapauthorizer.meta.mach-nix.python; + + python = mach-nix.mkPython { + inherit (zkapauthorizer.meta.mach-nix) providers; + python = pythonVersion; + overridesPre = [ + ( + self: super: { + inherit tahoe-lafs; + } + ) + ]; + + requirements = let + py3 = pythonVersion > "python3"; + lint = pkgs.lib.optionalString (builtins.trace py3 py3) '' +# lint +black +isort +flake8 +''; + workarounds = '' +# Mitigate for undetected cryptography dependency +setuptools_rust +# And for tomli +flit_core +''; + testing = '' +coverage +fixtures +testtools +hypothesis +''; + in + '' +${lint} +${workarounds} +${testing} +${zkapauthorizer.requirements} +''; + }; in pkgs.mkShell { + PYTHONDONTWRITEBYTECODE = "1"; + buildInputs = [ - tests.python - tests.lint-python - pkgs.niv + python ]; }