- Add setup-path function that allows resetting the path at any time. - macOS does a dumb thing where it resets your path with some helper binary in /etc/zprofile. Disable GLOBAL_RCS in .zshenv so it doesn't read system init files.
		
			
				
	
	
		
			86 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # .env
 | |
| # vim: ft=zsh:
 | |
| #
 | |
| # Environment settings for bash and derivatives. The env scripts are sourced by
 | |
| # Zsh for every shell, even the non-interactive ones, so this needs to be small
 | |
| # and quick. Any configuration that will only be used for interactive sessions
 | |
| # should be in the rc scripts.
 | |
| #
 | |
| # Eryn Wells <eryn@erynwells.me>
 | |
| 
 | |
| [[ -e "$HOME/.shell-functions" ]] && source "$HOME/.shell-functions"
 | |
| 
 | |
| export SYS=`uname -s | tr A-Z a-z`
 | |
| # Set this to a non-zero integer to see startup messages
 | |
| export NOISY=0
 | |
| 
 | |
| print_heading -l 1 'Initializing environment'
 | |
| 
 | |
| export PAGER="less"
 | |
| export MANPAGER=$PAGER
 | |
| export EDITOR="vim"
 | |
| export VISUAL=$EDITOR
 | |
| export LESSHISTFILE="-"
 | |
| export GREP_OPTIONS="--color=auto"
 | |
| export GREP_COLOR="1;32"
 | |
| 
 | |
| function prepend-to-path
 | |
| {
 | |
|     if [[ -d "$1" ]]; then
 | |
|         path=("$1" $path)
 | |
|         export path
 | |
|     fi
 | |
| }
 | |
| 
 | |
| function append-to-path
 | |
| {
 | |
|     if [[ -d "$1" ]]; then
 | |
|         path+="$1"
 | |
|         export path
 | |
|     fi
 | |
| }
 | |
| 
 | |
| function setup-path
 | |
| {
 | |
|     export path=()
 | |
|     append-to-path "/usr/local/bin"
 | |
|     append-to-path "/usr/bin"
 | |
|     append-to-path "/bin"
 | |
|     append-to-path "/usr/local/sbin"
 | |
|     append-to-path "/usr/sbin"
 | |
|     append-to-path "/sbin"
 | |
|     prepend-to-path "/usr/X11/bin"
 | |
|     prepend-to-path "/opt/local/bin"
 | |
|     prepend-to-path "$HOME/.local/bin"
 | |
|     prepend-to-path "$HOME/.gem/ruby/2.2.0/bin"
 | |
|     prepend-to-path "$HOME/.cargo/bin"
 | |
|     prepend-to-path "$HOME/bin"
 | |
| }
 | |
| 
 | |
| setup-path
 | |
| 
 | |
| if which virtualenvwrapper.sh 1>/dev/null 2>&1; then
 | |
|     export WORKON_HOME="$HOME/src/py/.envs"
 | |
|     source `which virtualenvwrapper.sh`
 | |
| fi
 | |
| 
 | |
| # Make sure gpg2 knows what to do with the curses-based smartcard PIN prompt.
 | |
| export GPG_TTY=`tty`
 | |
| 
 | |
| # System-specific settings
 | |
| if [[ -e "$HOME/.env.$SYS" ]]; then
 | |
|     print_info -l 2 "Sourcing system-specific environment settings for $SYS"
 | |
|     source "$HOME/.env.$SYS"
 | |
| fi
 | |
| 
 | |
| host_env="$HOME/.env.`hostname -s`"
 | |
| if [[ -e "$host_env" ]]; then
 | |
|     print_info -l 2 "Sourcing host-specific environment settings: $host_env"
 | |
|     source "$host_env"
 | |
| fi
 | |
| 
 | |
| # Local environment settings
 | |
| if [[ -e "$HOME/.env.local" ]]; then
 | |
|     print_info -l 2 "Sourcing local environment setup"
 | |
|     source "$HOME/.env.local"
 | |
| fi
 |