Merge branch 'master' of github.com:IvanMalison/dotfiles
This commit is contained in:
		| @@ -1 +1 @@ | ||||
| source ~/.bashrc | ||||
| source ~/.lib/login.sh | ||||
|   | ||||
							
								
								
									
										6
									
								
								dotfiles/lib/login.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								dotfiles/lib/login.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| source "$HOME/.lib/shellpath.sh" | ||||
|  | ||||
| # XXX: This is duplicated from env with a different var to avoid issues with /etc/profile | ||||
| command_exists python && setup_unless_environment_variable_exists LOGIN_PATH_SETUP_DONE _setup_path | ||||
|  | ||||
| source_directory_files "$HOME/.lib/login" | ||||
							
								
								
									
										4
									
								
								dotfiles/lib/nix_login.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								dotfiles/lib/nix_login.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| source "$HOME/.lib/shellpath.sh" | ||||
|  | ||||
| command_exists python && setup_unless_environment_variable_exists NIX_PATH_SETUP_DONE _setup_path | ||||
|  | ||||
| @@ -14,25 +14,17 @@ function shell_contains () { | ||||
|   return 1 | ||||
| } | ||||
|  | ||||
| function _set_python_command { | ||||
|     # See comment in add_to_path about why this is necessary | ||||
|     if command_exists pyenv; | ||||
|     then | ||||
|         _python_command="$(pyenv which python)" | ||||
|     else | ||||
|         which pyenv | ||||
|         _python_command="$(which python)" | ||||
|     fi | ||||
|     shell_contains "$_python_command" "shim" && \ | ||||
|         echo "Warning: setting python command to shim" | ||||
| function environment_variable_exists { | ||||
|     eval "value=\"\${$1+x}\"" | ||||
|     [ ! -z $value ] | ||||
| } | ||||
|  | ||||
| function setup_unless_environment_variable_exists { | ||||
| 	environment_variable_exists "$1" || { $2 && export "$1=$(date)"; } | ||||
| } | ||||
|  | ||||
| function add_to_path { | ||||
|     environment_variable_exists _python_command || _set_python_command | ||||
|     # We need to get a path to the ACTUAL python command because | ||||
|     # pyenv alters PATH before actually executing python, which ends | ||||
|     # up changing PATH in a way that is not desireable. | ||||
|     eval "$($_python_command $HOME/.lib/python/shell_path.py --include-assignment "$@")" | ||||
|     eval "$(python $HOME/.lib/python/shell_path.py --include-assignment "$@")" | ||||
| } | ||||
|  | ||||
| # Taken from http://www.unix.com/shell-programming-and-scripting/27932-how-know-linux-distribution-i-am-using.html | ||||
| @@ -55,6 +47,11 @@ function get_linux_distro { | ||||
|        [ -n "$dist" ] && echo "$dist" && return 0 | ||||
|    fi | ||||
|  | ||||
|    if [ -r /etc/os-release ]; then | ||||
| 	   dist=$(grep 'ID=' /etc/os-release | sed 's/ID=//' | head -1) | ||||
| 	   [ -n "$dist" ] && echo "$dist" && return 0 | ||||
|    fi | ||||
|  | ||||
|    dist=$(find /etc/ -maxdepth 1 -name '*release' 2> /dev/null | sed 's/\/etc\///' | sed 's/-release//' | head -1) | ||||
|    [ -n "$dist" ] && echo "$dist" && return 0 | ||||
|  | ||||
| @@ -65,19 +62,18 @@ function get_linux_distro { | ||||
|  | ||||
|  | ||||
| function is_osx() { | ||||
|     case `uname` in | ||||
|         'Darwin') | ||||
|             return 0 | ||||
| 	    ;; | ||||
|         *) | ||||
|             return 1; | ||||
|             ;; | ||||
|     esac | ||||
| } | ||||
|  | ||||
| function environment_variable_exists { | ||||
|     eval "value=\"\${$1+x}\"" | ||||
|     [ ! -z $value ] | ||||
| 	if command_exists uname; then | ||||
| 			case `uname` in | ||||
| 				'Darwin') | ||||
| 					return 0; | ||||
| 					;; | ||||
| 				*) | ||||
| 					return 1; | ||||
| 					;; | ||||
| 			esac | ||||
| 	else | ||||
| 		return 1 | ||||
| 	fi | ||||
| } | ||||
|  | ||||
| function source_directory_files { | ||||
|   | ||||
| @@ -1,21 +1,12 @@ | ||||
| source "$HOME/.lib/shellpath.sh" | ||||
|  | ||||
| environment_variable_exists ENVIRONMENT_SETUP_DONE || _setup_env | ||||
| # XXX: This PATH setup var is only actually set in login.sh which is definitely | ||||
| # strange. The reason for this is that because env runs BEFORE profile, things | ||||
| # in places like /etc/profile can actually clobber the path setup that we do. | ||||
|  | ||||
| # TODO(imalison): These need to run every time because of how their | ||||
| # version managers work. This could cause problems with the situation | ||||
| # where we want to intentionally override the python/ruby/node | ||||
| # versions in use in a given shell. | ||||
|  | ||||
| # TODO: Ruby and node are disabled to speed up shell startup... | ||||
| # See https://github.com/creationix/nvm/issues/709 for nvm | ||||
| # _node_setup | ||||
|  | ||||
| # XXX: these were moved to _setup_env | ||||
| # _ruby_setup | ||||
| _python_setup | ||||
| # Disbled setup here. Doing it in profile instead | ||||
| if command_exists python; then | ||||
| 	environment_variable_exists LOGIN_PATH_SETUP_DONE || setup_unless_environment_variable_exists ENV_PATH_SETUP_DONE _setup_path | ||||
| fi | ||||
|  | ||||
| source_directory_files "$HOME/.lib/shellenv" | ||||
|  | ||||
| test -r ~/.customenv.sh && source ~/.customenv.sh | ||||
| source_if_exists ~/.this-machine-env.sh | ||||
|   | ||||
| @@ -1,12 +1,8 @@ | ||||
| source "$HOME/.lib/setup_functions.sh" | ||||
|  | ||||
| function _setup_env { | ||||
| function _setup_path { | ||||
|     _path_helper | ||||
|  | ||||
|     # XXX/TODO: | ||||
|     # This is in shellenv.sh now | ||||
|     _python_setup | ||||
|  | ||||
|     add_to_path "$HOME/.lib/bin" "$HOME/.local/bin" "$HOME/bin" --before | ||||
|     add_to_path "/usr/local/sbin" "/usr/local/bin" "/usr/bin" --after | ||||
|     _ruby_setup | ||||
| @@ -16,17 +12,16 @@ function _setup_env { | ||||
|     _haskell_setup | ||||
|     _java_setup | ||||
|     _go_setup | ||||
| 	_python_setup | ||||
|     _racket_setup | ||||
|     _rust_setup | ||||
|     _tex_setup | ||||
|  | ||||
|     # This makes systemd aware of change to $PATH | ||||
|     run_if_exists systemctl --user import-environment PATH DISPLAY XAUTHORITY HOME | ||||
|  | ||||
|     # To ensure that things in ~/.lib/bin take precedence | ||||
|     add_to_path "$HOME/.lib/bin" --before | ||||
|  | ||||
|     export ENVIRONMENT_SETUP_DONE="$(date)" | ||||
| 	# This makes systemd aware of change to $PATH | ||||
|     run_if_exists systemctl --user import-environment PATH DISPLAY XAUTHORITY HOME | ||||
| } | ||||
|  | ||||
| function _linux_path_setup { | ||||
| @@ -51,17 +46,7 @@ function _osx_path_setup { | ||||
| } | ||||
|  | ||||
| function _python_setup { | ||||
|     export PYENV_ROOT="/usr/local/var/pyenv" | ||||
|  | ||||
|     if which pyenv > /dev/null; then | ||||
|         eval "$(pyenv init - --no-rehash)" | ||||
|     else | ||||
|         echo "WARNING: pyenv is not installed on this machine and python will likely not function correctly" | ||||
|     fi | ||||
|  | ||||
|     add_to_path "$HOME/.lib/python" --after | ||||
|     # if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi | ||||
|  | ||||
|     add_to_path "$HOME/.lib/python" --path-var 'PYTHONPATH' | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -10,11 +10,22 @@ function j() { | ||||
| } | ||||
| environment_variable_exists INSIDE_EMACS && inside_emacs_hook | ||||
|  | ||||
| # XXX: This used to be in shellenv and should be moved back once these | ||||
| # are faster. | ||||
| _node_setup | ||||
| _ruby_setup | ||||
| # TODO(imalison): These need to run every time because of how their | ||||
| # version managers work. This could cause problems with the situation | ||||
| # where we want to intentionally override the python/ruby/node | ||||
| # versions in use in a given shell. | ||||
|  | ||||
| # TODO: Ruby and node are disabled to speed up shell startup... | ||||
| # See https://github.com/creationix/nvm/issues/709 for nvm | ||||
| # _node_setup | ||||
|  | ||||
| # XXX: these were moved to _setup_env | ||||
| # _ruby_setup | ||||
| # _python_setup | ||||
| # _node_setup | ||||
| # _ruby_setup | ||||
|  | ||||
| # travis completion | ||||
| # XXX: Disabled to reduce performance impact | ||||
| # [ -f "$HOME/.travis/travis.sh" ] && source "$HOME/.travis/travis.sh" | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,9 @@ | ||||
| # -*- mode: sh; -*- | ||||
|  | ||||
|  | ||||
| # If there are issues with path, check /etc/profile for hard overrides of PATH. | ||||
| source "$HOME/.lib/shellenv.sh" | ||||
| . "$HOME/.lib/login.sh" | ||||
| # XXX: prevents https://github.com/xmonad/xmonad/issues/86 from affecting startup | ||||
|  | ||||
| rm -f ~/.xmonad/xmonad.state | ||||
| load_xkb_map.sh | ||||
|   | ||||
							
								
								
									
										1
									
								
								dotfiles/zprofile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dotfiles/zprofile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| source ~/.lib/login.sh | ||||
| @@ -5,4 +5,4 @@ export THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | ||||
| export DOTFILES_DIR="$(readlink -f $THIS_DIR/dotfiles)" | ||||
|  | ||||
| echo $DOTFILES_DIR | ||||
| rcup -d $DOTFILES_DIR -S "emacs.d" -S "config/taffybar" -S "config/xmonad" -S "config/xmonad/taffybar" | ||||
| rcup -d $DOTFILES_DIR -S "emacs.d" -S "config/taffybar" -S "config/xmonad" -S "config/xmonad/taffybar" -S "lib" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user