Skip to content

About

Free macOS app for managing system-wide environment variables from a native GUI, built with Tauri 2 and React, with no Terminal needed.

Topics

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

49 Commits

Folders and files

Repository files navigation

EnvManager - macOS Environment Variable Manager

EnvManager

The Ultimate macOS Environment Variable Manager

A free, open-source macOS app for managing system-wide environment variables with a beautiful native GUI β€” no Terminal required.

Download EnvManager Latest Release MIT License CI Build Status

Instagram LinkedIn


πŸš€ What is EnvManager?

EnvManager is a powerful yet simple macOS application that lets you manage your system's environment variables through an elegant, native GUI. Perfect for developers, DevOps engineers, and power users who need to configure API keys, database URLs, paths, and other environment settings across their entire macOS system.

Why Choose EnvManager?

  • βœ… No Terminal Required β€” Beautiful visual interface for managing env vars
  • βœ… System-Wide β€” Variables work across all apps, not just Terminal
  • βœ… Auto-Apply β€” Changes take effect immediately with launchctl
  • βœ… Persistent β€” Survives reboots with LaunchAgent auto-restore
  • βœ… Secure β€” All values masked by default with one-click reveal
  • βœ… Free & Open Source β€” MIT licensed, community driven

✨ Key Features

v0.9.4 β€” Latest Release

Feature Description
🎯 Menu Bar Only Lives in macOS menu bar, hidden from Dock
πŸ”„ Background Running Close window to hide, app keeps running
πŸ“Š System Tray Quick access via tray icon (Show/Hide/Quit)
πŸ“ Logs & Debug Built-in logs page for troubleshooting
⚠️ Smart Warnings Auto-detects PATH/DYLD issues with solutions
πŸ”’ Security First All values masked by default (β€’β€’β€’β€’β€’β€’). Click eye icon to reveal
πŸ“‚ Category Panel Left sidebar with color-coded categories, drag-to-reorder
🏷️ Smart Tags Inline category tags with Γ— button to remove from rows
πŸ“œ Export History Dedicated tab showing all exports with copy/preview
πŸ’Ύ Full Backup Export complete backup with categories metadata
🎨 Category Colors 8 preset colors for visual organization
πŸ“‹ One-Click Copy Copy any value to clipboard instantly
πŸ” Search & Filter Find variables by key, value, or category

Core Features

Feature Details
Visual Editor Click-to-edit table with inline validation and keyboard navigation
Auto-Save Changes saved and applied 2 seconds after editing stops
Variable Interpolation Use ${VAR}, $VAR, $(command), escape with $$
File-Watching Agent LaunchAgent monitors config changes in real-time
Shell Profile Sync Auto-exports to ~/.zshrc for Terminal compatibility
System-Wide Apply Uses launchctl setenv β€” works in all applications
Import / Export JSON, .env, YAML, TOML, Shell Script, and Full Backup formats
Dark & Light Mode Native macOS theme support with OKLCH colors
Duplicate Detection Real-time warnings for conflicting keys
Accessibility Full keyboard navigation and screen reader support

πŸ“₯ Installation

Requirements

  • macOS 12.0 or later
  • Apple Silicon (M1/M2/M3) Mac

Quick Install

  1. Download the latest DMG from Releases
  2. Open the DMG and drag EnvManager to Applications
  3. Launch β€” See First Launch Guide below
# Or use Homebrew (coming soon)
brew install --cask envmanager

First Launch

Since EnvManager is open-source and not signed with an Apple Developer certificate, macOS Gatekeeper will block the first launch.

Recommended: Right-click Method

  1. Open Applications in Finder
  2. Right-click (or Control-click) on EnvManager
  3. Click Open, then confirm

Alternative: Terminal Method

xattr -cr /Applications/EnvManager.app

πŸ“– How to Use

Basic Workflow

  1. Add Variables β€” Click "+ Add Variable" or press Cmd+N
  2. Edit Values β€” Click any cell to edit. All values are masked for security
  3. Organize β€” Drag categories in the left panel, click Γ— on tags to remove
  4. Export β€” Click Export button, choose format, copy or download
  5. Backup β€” Use "Full Backup" format to save everything including categories

Keyboard Shortcuts

Shortcut Action
Cmd + N Add new variable
Cmd + S Save manually
Cmd + E Export variables
Tab Next field
Enter Confirm edit
Esc Cancel edit

Export Formats

Format Use Case
.env Standard environment file for projects
JSON Simple key-value for APIs
YAML Human-readable config files
TOML Modern config format
Shell Script Source in Terminal
Full Backup Complete backup with categories

πŸ—οΈ Technical Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  EnvManager.app (React 19 + Tauri 2 + Rust)             β”‚
β”‚                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    Save    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  GUI     β”‚ ─────────► β”‚  Rust Backend            β”‚   β”‚
β”‚  β”‚  Editor  β”‚            β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β”‚  β”‚ Validate keys      β”‚  β”‚   β”‚
β”‚                          β”‚  β”‚ Atomic JSON write  β”‚  β”‚   β”‚
β”‚                          β”‚  β”‚ launchctl setenv   β”‚  β”‚   β”‚
β”‚                          β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚   β”‚
β”‚                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                     β–Ό                 β–Ό
            ~/Library/               ~/Library/
            Application Support/     LaunchAgents/
            EnvManager/env.json      com.envmanager.env.plist
            (persistent store)       (re-applies at login)

How It Works

  • Storage: ~/Library/Application Support/EnvManager/env.json
  • Auto-Save: 2-second debounce with atomic file writes
  • Application: launchctl setenv for system-wide vars
  • Persistence: LaunchAgent + Login Item for reboot survival
  • Security: All values masked by default in UI

⚠️ Important Notes

Limitations

  • PATH Variable: macOS overrides PATH at shell startup. Use ~/.zshrc for PATH changes
  • DYLD_ Variables*: Stripped by macOS SIP β€” cannot be set via launchctl
  • Running Apps: Already-running apps must be restarted to see new variables
  • GUI Apps: Variables visible to all apps launched after setting

πŸ”§ Building from Source

Prerequisites

  • macOS 12.0+
  • Xcode Command Line Tools
  • Rust (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh)
  • Node.js 22+ and pnpm
# Clone repository
git clone https://github.com/prohunter00017/envmanager.git
cd envmanager

# Install dependencies
pnpm install

# Development mode with hot reload
pnpm tauri dev

# Build production .app and .dmg
pnpm tauri build

🀝 Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Ways to Contribute

  • πŸ› Report bugs via Issues
  • πŸ’‘ Suggest features
  • πŸ“ Improve documentation
  • πŸ”§ Submit pull requests

πŸ‘€ Author & Contact

Hamza Zoubir β€” Creator & Maintainer

Instagram LinkedIn GitHub


πŸ“„ License

MIT License β€” Free for personal and commercial use.


🌟 SEO Keywords

macOS environment variable manager, env var editor mac, system environment variables macOS, launchctl GUI, mac env configuration, environment variable editor, macOS dev tools, API key manager mac, env file editor, mac system settings


Built with ❀️ using Tauri 2, React 19, and Rust

About

Free macOS app for managing system-wide environment variables from a native GUI, built with Tauri 2 and React, with no Terminal needed.

Topics

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages