Shell Environment
Turnkey configures your development shell with all declared toolchains.
Environment Variables
When entering the shell, Turnkey sets:
PATH- Includes all toolchain binariesTURNKEY_DIRENV_LIB- Path to direnv integration library
direnv Integration
For automatic shell activation, use direnv with .envrc:
use flake
Shell Entry Hooks
Turnkey performs these actions on shell entry:
- Symlinks
.turnkey/preludeto the prelude cell - Symlinks
.turnkey/toolchainsto the generated toolchains - Updates dependency cell symlinks if configured
- Displays welcome message (if configured)
Verbose Mode
For debugging, set TURNKEY_VERBOSE=1:
TURNKEY_VERBOSE=1 nix develop
Multiple Shells
You can define multiple shells with different toolchains:
turnkey.toolchains.declarationFiles = {
default = ./toolchain.toml;
ci = ./toolchain.ci.toml;
};
Access with:
nix develop .#ci