From 38899afeb308d2b9bba5ef15b41fada7908683e8 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Thu, 10 Oct 2024 15:09:28 -0500 Subject: [PATCH] Add layout_poetry to direnv Give direnv knowledge of how to use Poetry --- home/modules/baseline/direnv.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/home/modules/baseline/direnv.nix b/home/modules/baseline/direnv.nix index c27cb2c..5172706 100644 --- a/home/modules/baseline/direnv.nix +++ b/home/modules/baseline/direnv.nix @@ -4,5 +4,18 @@ programs.direnv = { enable = true; nix-direnv.enable = true; + stdlib = '' + layout_poetry() { + if [[ ! -f pyproject.toml ]]; then + echo "No pyproject.toml found" + exit 1 + fi + + venv="$(dirname "$(poetry run which python)")" + export VIRTUAL_ENV="$(echo "$venv" | rev | cut -d'/' -f2- | rev)" + export POETRY_ACTIVE=1 + PATH_add "$venv" + } + ''; }; }