nixos/templates/poetry.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
'';
}