Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zpm-zsh/autoenv
Autoenv for zsh
https://github.com/zpm-zsh/autoenv
autoenv plugin shell zpm zsh zsh-plugin zsh-plugins
Last synced: about 2 hours ago
JSON representation
Autoenv for zsh
- Host: GitHub
- URL: https://github.com/zpm-zsh/autoenv
- Owner: zpm-zsh
- License: gpl-3.0
- Created: 2014-08-15T13:17:51.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-09-10T09:06:52.000Z (about 2 years ago)
- Last Synced: 2024-04-13T07:49:00.660Z (7 months ago)
- Topics: autoenv, plugin, shell, zpm, zsh, zsh-plugin, zsh-plugins
- Language: Shell
- Homepage:
- Size: 91.8 KB
- Stars: 165
- Watchers: 4
- Forks: 21
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Autoenv
> Until recently, the default file name used by this plugin was `.env`, but now it is `.in`. This is done in order not to conflict with `.env` files from numerous projects.
#### Autoenv automatically sources (known/whitelisted) `.in` and `.out` files.
This plugin adds support for enter and leave events. By default `.in` files are used when entering a directory, and `.out` files when leaving a directory. And you can set variable `CLICOLOR=1` for enabling colored output.
The environment variables `$AUTOENV_IN_FILE` & `$AUTOENV_OUT_FILE` can be used
to override the default values for the file names of `.in` & `.out` respectively.![](term.png)
## Example of use
- If you are in the directory `/home/user/dir1` and execute `cd /var/www/myproject` this plugin will source the following files if they exist
```
/home/user/dir1/.out
/home/user/.out
/home/.out
/var/.in
/var/www/.in
/var/www/myproject/.in
```- If you are in the directory `/` and execute `cd /home/user/dir1` this plugin will source the following files if they exist
```
/home/.in
/home/user/.in
/home/user/dir1/.in
```- If you are in the directory `/home/user/dir1` and execute `cd /` this plugin will source the following files if they exist
```
/home/user/dir1/.out
/home/user/.out
/home/.out
```## Examples of `.in` and `.out` files
Please, don't use `pwd` or `$PWD`, instead of this use `$(dirname $0)`. Additionally, the path of the directory being entered or exited is passed as the first argument to both `.in` and `.out` scripts, should using a symlink be preferred.
### For node.js developing:
### .in
```sh
nvm use node
OLDPATH=$PATH
export PATH="$(dirname $0)/node_modules/.bin":$PATH
```### .out
```sh
nvm use system
export PATH=$OLDPATH
```### For projects with `.env` or/and `.env.local`
```sh
source $(dirname $0)/.env*
```## Prerequisites
#### This plugin depends on [zsh-colors](https://github.com/zpm-zsh/colors).
If you don't use [zpm](https://github.com/zpm-zsh/zpm), install it manually and activate it before this plugin.
If you use zpm you don’t need to do anything## Installation
### Using [zpm](https://github.com/zpm-zsh/zpm)
Add `zpm load zpm-zsh/autoenv` into `.zshrc`
### Using [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)
Execute `git clone https://github.com/zpm-zsh/autoenv ~/.oh-my-zsh/custom/plugins/autoenv`. Add `autoenv` into plugins array in `.zshrc`
### Using [Fig](https://fig.io)
Fig adds apps, shortcuts, and autocomplete to your existing terminal.
Install `autoenv` in just one click.
### Using [antigen](https://github.com/zsh-users/antigen)
Add `antigen bundle zpm-zsh/autoenv` into `.zshrc`
### Using [zgen](https://github.com/tarjoilija/zgen)
Add `zgen load zpm-zsh/autoenv` into `.zshrc`