kpsul/shell.nix

52 lines
1.2 KiB
Nix

{ pkgs ? (import <nixpkgs>) { }, 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";
pypiData = builtins.fetchTarball {
name = "pypi-deps-db-src";
url = "https://github.com/DavHau/pypi-deps-db/tarball/${pypiDataRev}";
sha256 = "${pypiDataSha256}";
};
mach-nix = import
(builtins.fetchGit {
url = "https://github.com/DavHau/mach-nix";
ref = "refs/tags/3.5.0";
})
{
inherit pypiData;
python = "python39";
};
requirements = mkRequirements ./requirements.txt;
requirements-prod = mkRequirements ./requirements-prod.txt;
requirements-dev = mkRequirements ./requirements-devel.txt;
pyEnv = mach-nix.mkPython {
requirements = builtins.concatStringsSep "\n" [
requirements
requirements-dev
requirements-prod
];
};
in
pkgs.mkShell {
buildInputs = [ pyEnv ];
shellHook = ''
export DJANGO_SETTINGS_MODULE=gestioasso.settings.local
'';
}