27 lines
560 B
Nix
27 lines
560 B
Nix
{ pkgs ? import <nixpkgs> {}, python ? pkgs.python39, ... }:
|
|
|
|
let
|
|
python-packages = ps: with ps; [
|
|
pip
|
|
setuptools
|
|
wheel
|
|
];
|
|
in
|
|
pkgs.mkShell {
|
|
nativeBuildInputs = with pkgs; [
|
|
(python.withPackages python-packages)
|
|
poetry
|
|
git
|
|
zlib
|
|
libgccjit
|
|
];
|
|
|
|
shellHook = ''
|
|
export LD_LIBRARY_PATH="${pkgs.zlib}/lib:${pkgs.libgccjit}/lib"
|
|
poetry lock --check > /dev/null || poetry lock
|
|
poetry env use "$(command -v ${python}/bin/python)"
|
|
[ ! -d "./.venv" ] && poetry install --sync
|
|
source .venv/bin/activate
|
|
'';
|
|
}
|