Only make path setup permanent from login.sh

This commit is contained in:
Ivan Malison 2018-05-30 14:54:22 -07:00
parent eaa9386505
commit 2404216ccd
No known key found for this signature in database
GPG Key ID: 62530EFBE99DC2F8
7 changed files with 34 additions and 36 deletions

5
dotfiles/lib/login.sh Normal file
View File

@ -0,0 +1,5 @@
source "$HOME/.lib/shellpath.sh"
setup_unless_environment_variable_exists ENV_PATH_SETUP_DONE || _setup_path
source_directory_files "$HOME/.lib/login"

View File

@ -27,6 +27,16 @@ function _set_python_command {
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
@ -75,11 +85,6 @@ function is_osx() {
esac
}
function environment_variable_exists {
eval "value=\"\${$1+x}\""
[ ! -z $value ]
}
function source_directory_files {
for filename in "$1"/*; do
environment_variable_exists SHELL_STARTUP_DEBUG && echo "Sourcing $filename"

View File

@ -1,21 +0,0 @@
source "$HOME/.lib/shellpath.sh"
environment_variable_exists ENVIRONMENT_SETUP_DONE || _setup_env
# 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
source_directory_files "$HOME/.lib/shellenv"
test -r ~/.customenv.sh && source ~/.customenv.sh
source_if_exists ~/.this-machine-env.sh

View File

@ -1,6 +1,6 @@
source "$HOME/.lib/setup_functions.sh"
function _setup_env {
function _setup_path {
_path_helper
# XXX/TODO:
@ -20,13 +20,11 @@ function _setup_env {
_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 {

View File

@ -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"

View File

@ -1,7 +1,7 @@
# -*- mode: sh; -*-
# If there are issues with path, check /etc/profile for hard overrides of PATH.
source "$HOME/.lib/shellenv.sh"
source "$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