Tired of manual
`module load`?
menv is a Go-native CLI that snapshots your HPC environment into portable YAML
files.
It automatically restores your modules as soon as you cd into your project.
Explicitly built for researchers.
Comparing the traditional Lmod approach vs. the menv workflow.
- Opaque:
module savecreates hidden, binary-like files. - Manual: You must remember to load modules for every project session.
- Local-only: Environments aren't easily shared via Git or between clusters.
- Transparent:
Snapshots are stored in human-readable
.menv.lockYAML files. - Auto-Load: Shell integration loads your environment automatically via a native hook.
- Git-Ready: Version your environments alongside your code for perfect reproducibility.
menv save
Captures your current loaded modules and environment variables into a single portable file.
menv doctor
Checks if all modules defined in your lockfile are still available on the current cluster (Jean Zay, TGCC, etc).
menv hook
Generates a zero-latency shell integration for Bash/Zsh that triggers load
when you enter a directory.
[menv] Loading: gcc/11.2, openmpi/4.1, cuda/11.8...
[menv] Environment is now active.
1) gcc/11.2.0 2) openmpi/4.1.4 3) cuda/11.8
Ready to try it?
Single binary. No dependencies. No root required.
curl -sSL https://raw.githubusercontent.com/Thedtk24/menv/main/install.sh | bash
Compatible with Bash & Zsh on Linux/macOS