Skip to content
/
Try

Project environments in Skink: virtualenv, direnv and mise

Terminals, tasks and language servers get the project’s environment, so the right Python, Node or Go is found without activating anything.

What Used
A Python virtualenv in .venv or venv At once: its bin goes first on PATH and VIRTUAL_ENV is set
direnv’s .envrc When direnv is installed, after you trust it
mise’s mise.toml, .mise.toml or .tool-versions When mise is installed, after you trust it

.envrc and mise files run code, so Skink asks before loading them, and asks again when they change. They load in the background with a 5 second limit.

Skink never runs direnv allow or mise trust for you. If the tool refuses, a toast says so.

  • :env shows what is active and its variables.
  • :env reload looks again.
  • Saving one of these files reloads the environment and restarts the language servers.
  • "projectenv": false turns all of it off.