Minimalist environment and path manager.
curl -sSL https://dobbyncicode.github.io/eap/install.sh | sh- Python 3.11+ (uses built-in
tomllib) - For Python 3.10 and earlier:
pip install tomli
Security Note: Environment variables set via eap may be visible in process listings (
ps,top). Avoid storing sensitive secrets (passwords, API keys, tokens) inconfig.toml. Use a secrets manager instead.
Add the exact line corresponding to your shell to your configuration file.
Add to ~/.bashrc:
eval "$(~/.local/bin/eap activate bash)"Add to ~/.zshrc:
eval "$(~/.local/bin/eap activate zsh)"Add to ~/.config/fish/config.fish:
eval (~/.local/bin/eap activate fish | string collect)Add to env.nu or config.nu:
eval (~/.local/bin/eap activate nu)Define your variables and paths here.
Structure:
[env]: Key-value pairs for environment variables.[path]: A list of folders to add to your system PATH.
Example:
[env]
EDITOR = "nvim"
[path]
add = ["~/.local/bin", "~/scripts"]Place this file in any project directory to override global settings for that folder and its subfolders. Use the same structure as config.toml.
If you use a shell not listed by default, add it to shells.toml. eap uses simple templates to generate the export commands.
Available Variables:
{k}: The variable key (e.g.,EDITOR){v}: The variable value (e.g.,nvim){p}: The path string (e.g.,/home/user/.local/bin)
Example: Adding a custom shell
[my-shell]
env = 'export {k}="{v}";'
path = 'export PATH="{p}:$PATH";'- Sync: eap monitors the modification time (mtime) of your config files.
- Trigger: The environment is refreshed automatically when the shell prompt is displayed.
-
Precedence: Project
.eap.toml$\rightarrow$ Globalconfig.toml.