My Nix Configuration
1layout_poetry() { 2 PYPROJECT_TOML="\$\{PYPROJECT_TOML:-pyproject.toml}" 3 if [[ ! -f "$PYPROJECT_TOML" ]]; then 4 log_status "No pyproject.toml found. Executing \`poetry init\` to create a \`$PYPROJECT_TOML\` first." 5 poetry init 6 fi 7 8 if [[ -d ".venv" ]]; then 9 VIRTUAL_ENV="$(pwd)/.venv" 10 else 11 VIRTUAL_ENV=$( 12 poetry env info --path 2>/dev/null 13 true 14 ) 15 fi 16 17 if [[ -z $VIRTUAL_ENV || ! -d $VIRTUAL_ENV ]]; then 18 log_status "No virtual environment exists. Executing \`poetry install\` to create one." 19 poetry install 20 VIRTUAL_ENV=$(poetry env info --path) 21 fi 22 23 PATH_add "$VIRTUAL_ENV/bin" 24 export POETRY_ACTIVE=1 25 export VIRTUAL_ENV 26}