Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ celerybeat-schedule
# Environments
.env
.venv
.venv-nix
env/
venv/
ENV/
Expand Down
6 changes: 6 additions & 0 deletions shell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,10 @@ pkgs.mkShell {
# Use the Nix-provided interpreters instead of uv-managed downloads, which do
# not run on NixOS without extra patching.
UV_PYTHON_DOWNLOADS = "never";

# Keep this shell's venv separate from a host-created .venv. This matters when
# the project directory is bind-mounted into a NixOS VM (e.g. OrbStack): the
# host's .venv is still visible there, but built for a different OS/interpreter,
# so reusing it breaks `uv sync`/`uv run`.
UV_PROJECT_ENVIRONMENT = ".venv-nix";

@zupo zupo Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Huh, this breaks my personal workflow. I always use .venv and have scripts/muscle memory that rely on it.

Is there another way to address the problem this is trying to solve?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably! This was my "simple hack" that worked for me.
I mostly don't work in nix-shell, so I figure when I drop in there from my host-based workflow, I can probably remove the .venv and have it recreated instead.

I'll go ahead and close this for now, and keep thinking aobut good ways to make these coexist.

}
Loading