> things get tricky when it comes to nested venvs
Never had such a requirement.
Environments, like the interpreter itself, seem a singleton concept.
I have used a Makefile that sources different Bash environment variables kept in files in etc/ within the venv to switch between, say, a Flask and a Gunicorn startup.