envex-0.2.0 is not a library.
envx
A powerful and secure environment variable manager for developers, featuring an intuitive Terminal User Interface (TUI) and comprehensive command-line interface.
๐ธ Screenshots
๐ Features
- ๐ฅ๏ธ Interactive TUI: Beautiful terminal interface for easy environment variable management
- ๐ Smart Search: Fast filtering and searching across all environment variables
- ๐ Source Tracking: Distinguish between System, User, Process, Shell, and Application variables
- ๐ Multi-line Support: Edit complex environment variables with proper multi-line support
- ๐ Import/Export: Support for multiple formats (JSON, YAML, TOML, ENV)
- ๐ธ Snapshots & Profiles Feature Implementation: Save and restore variable states
- โก Performance: Built with Rust for blazing-fast performance
- ๐จ Cross-platform: Works on Windows, macOS, and Linux
๐ฆ Installation
From Source
Using Cargo
Pre-built Binaries
Download the latest release for your platform from the releases page.
๐ Quick Start
Launch the TUI
# or
List all environment variables
Set a variable
Get a variable
๐ Command Line Usage
Overview
)
)
Core Commands
list
- List environment variables
)
)
)
# List all variables
# List with a pattern
# List from specific source
get
- Get a specific variable
<PATTERN> Variable )
)
set
- Set an environment variable
<NAME> Variable
<VALUE> Variable
# Set for current session
# Set persistently (survives reboot)
delete
- Remove an environment variable
<PATTERN> Variable
)
analyze
- Analyze environment variables
)
path
- Manage PATH variable
)
)
Import/Export Commands
export
- Export variables to a file
<FILE> Output
)
)
)
)
import
- Import variables from a file
<FILE> Input
)
)
# Import from JSON
# Import from YAML
# Import from .env file
๐ฎ TUI Keyboard Shortcuts
Normal Mode
โ
/โ
orj
/k
- Navigate up/downPageUp
/PageDown
- Navigate by pageHome
/End
- Jump to first/last itemEnter
orv
- View variable details/
- Enter search modea
- Add new variablee
- Edit selected variabled
- Delete selected variabler
- Refresh listq
- Quit
Search Mode
Esc
- Cancel searchEnter
- Apply search
Edit Mode
Tab
- Switch between name and value fieldsCtrl+Enter
- Save changesEsc
- Cancel editing
๐ง Configuration
envx stores its configuration in platform-specific locations:
- Windows:
%APPDATA%\envx\config.toml
- macOS:
~/Library/Application Support/envx/config.toml
- Linux:
~/.config/envx/config.toml
Example Configuration
[]
= "json"
= true
= 100
[]
= "dark"
= true
๐๏ธ Architecture
envx is built with a modular architecture:
- envx-core: Core functionality for environment variable management
- envx-cli: Command-line interface implementation
- envx-tui: Terminal User Interface
- envx: Main binary that ties everything together
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Development Setup
# Clone the repository
# Build the project
# Run tests
# Run with debug logging
RUST_LOG=debug
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
๐ Benchmarks
envx is designed for performance:
- List 1000+ variables: < 10ms
- Search through variables: < 5ms
- Import/Export operations: < 50ms for typical workloads
Debug Mode
Run with debug logging enabled:
RUST_LOG=debug
๐ง Contact
- Author: Mikko Leppรคnen
- Email: mleppan23@gmail.com
- GitHub: @mikeleppane