diff --git a/requirements-devel.txt b/requirements-devel.txt index 8dc49eb1..637123a5 100644 --- a/requirements-devel.txt +++ b/requirements-devel.txt @@ -3,6 +3,6 @@ django-debug-toolbar ipython # Tools -black +black==22.3.0 flake8 isort diff --git a/requirements-prod.txt b/requirements-prod.txt index 4037e7fe..b4a99d6b 100644 --- a/requirements-prod.txt +++ b/requirements-prod.txt @@ -1,7 +1,7 @@ -r requirements.txt # Postgresql bindings -psycopg2<2.8 +psycopg2==2.9.* # Redis django-redis-cache==3.0.* diff --git a/shell.nix b/shell.nix index 27ebda09..0476c269 100644 --- a/shell.nix +++ b/shell.nix @@ -1,6 +1,12 @@ -{ pkgs ? (import ) { } }: +{ pkgs ? (import ) { }, lib ? pkgs.lib }: let + mkRequirements = file: + builtins.concatStringsSep "\n" + (builtins.filter + (s: !(lib.hasPrefix "-r" s || lib.hasPrefix "#" s || s == "")) + (lib.splitString "\n" (builtins.readFile file))); + pypiDataRev = "2505eb53d85cd727c87611ee4aa35152821a12b2"; pypiDataSha256 = "0nhl0rzlp4fgzxb15pmnq14d0rzcwhvwn40vx7fnk41z9gwxcp4c"; @@ -21,17 +27,19 @@ let python = "python39"; }; - requirements = builtins.readFile ./requirements.txt; + requirements = mkRequirements ./requirements.txt; - requirements-dev = '' - django-debug-toolbar - ipython - black==22.3.0 - isort - flake8 - ''; + requirements-prod = mkRequirements ./requirements-prod.txt; - pyEnv = mach-nix.mkPython { requirements = requirements + requirements-dev; }; + requirements-dev = mkRequirements ./requirements-devel.txt; + + pyEnv = mach-nix.mkPython { + requirements = builtins.concatStringsSep "\n" [ + requirements + requirements-dev + requirements-prod + ]; + }; in pkgs.mkShell {