v0.1.0 / macOS + Linux

Your shell.
A little more order.

Bring your paths, tools, and shell configuration together. Set up once, understand what runs, and feel at home on your next machine.

Works where you do◉ macOS⌘ LinuxBash / Zsh
your-shell.sh~

# A place for everything.

em_add_path PATH "$HOME/bin"

# Priority, when you need it.

em_add_path PATH "$HOME/work/bin" prepend-move

# Your tools. Your choice.

em_enable nvm python

# Keep parallel work under control.

em_run_concurrent --key builds 2 npm run build

❯

✓
Same command. Same setup.Already installed? You're already home.
SMALL HELPERS. LESS SHELL HOUSEKEEPING.
01 Predictable paths02 Tools by choice03 Portable configuration04 Repeatable setup
THE EVERYDAY DETAILS, HANDLED

A calmer place
to get things done.

Keep the useful parts of your setup together, with plain shell files you can read and change.

↳

Paths that stay in their lane.

Append, prepend, or move an entry to the front. Keep existing entries in place and preserve system manual paths.

em_add_path PATH "$HOME/bin"
⊞

Start small. Add what you use.

The core preset starts with environment helpers, user binary paths, and telemetry preferences. Enable optional tools when you're ready.

em_enable nvm
⇄

Share the machine, politely.

Limit matching commands across shell sessions. Waiting work runs when a slot opens, with the original arguments and exit status.

em_run_concurrent --key builds 2 npm run build
A FAMILIAR FIRST STEP

One command.
Then make it yours.

The installer detects your shell, adds a managed startup block, and keeps your existing configuration. Run it again to repair a missing integration.

See exactly what changes →
YOUR NEXT SHELL STARTS HERE

Make yourself at home.

Core preset
curl -fsSL https://projects.envmanager.victorqueiroz.dev/install.sh | sh -s -- --shell auto

No sudo. Repeatable installation. Optional tools stay opt-in.

PLAIN FILES. CLEAR INTENT.

Your configuration belongs to you.

Inspect the installer, keep local overrides, and upgrade when you choose. EnvManager is built to be understood.

Read the source on GitHub ↗