direnv: add poetry layout for direnv

nixos
Moritz Böhme 2023-02-28 12:55:06 +01:00
parent d01a5c0722
commit 11156f282c
1 changed files with 18 additions and 0 deletions

View File

@ -15,6 +15,24 @@ in
home-manager.users.moritz.programs.direnv = { home-manager.users.moritz.programs.direnv = {
enable = true; enable = true;
nix-direnv.enable = true; nix-direnv.enable = true;
stdlib = ''
layout_poetry() {
if [[ ! -f pyproject.toml ]]; then
log_error 'No pyproject.toml found. Use `poetry new` or `poetry init` to create one first.'
exit 2
fi
local VENV=$(poetry env info --path)
if [[ -z $VENV || ! -d $VENV/bin ]]; then
log_error 'No poetry virtual environment found. Use `poetry install` to create one first.'
exit 2
fi
export VIRTUAL_ENV=$VENV
export POETRY_ACTIVE=1
PATH_add "$VENV/bin"
}
'';
}; };
}; };
} }