watch_file pyproject.toml
watch_file uv.lock
watch_file flake.nix
watch_file flake.lock

use flake

# On the first activation, create uv.lock and .venv.
# After that, require the committed lockfile to remain valid.
if [[ -f uv.lock ]]; then
    uv sync --locked --extra dev --quiet
else
    uv sync --extra dev --quiet
fi

export VIRTUAL_ENV="$PWD/.venv"
PATH_add "$VIRTUAL_ENV/bin"
