From 6eb00d65d5732bbb025d573422adab5e3ca74dcc Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Mon, 4 Jun 2018 23:10:09 +0300 Subject: attempt to organize stuff properly bash-independent stuff should go to .profile, which is what I'm trying to do. I'm not sure about how correct all of this is, a few bashisms were ought to creep in. --- %HOME%/.profile | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 %HOME%/.profile (limited to '%HOME%/.profile') diff --git a/%HOME%/.profile b/%HOME%/.profile new file mode 100644 index 0000000..401947b --- /dev/null +++ b/%HOME%/.profile @@ -0,0 +1,61 @@ +if command -v vim > /dev/null 2>&1; then + export EDITOR=vim +elif command -v nano > /dev/null 2>&1; then + export EDITOR=nano +fi + +path_export() { + local path + for path; do + case "${PATH-}" in + "$path") continue ;; + *":$path") continue ;; + "$path:"*) continue ;; + *":$path:"*) continue ;; + esac + export PATH="$path:${PATH-}" + done +} + +path_export "$HOME/.local/bin" + +# Ruby-specific stuff + +# This is a half-assed way to automatically add your user's gem binary +# directory to $PATH (also setting GEM_HOME). + +ruby_setup() { + local user_dir + local bin_dir + + command -v ruby > /dev/null 2>&1 \ + && command -v gem > /dev/null 2>&1 \ + && user_dir="$( ruby -e 'puts Gem.user_dir' )" \ + && export GEM_HOME="$user_dir" \ + && bin_dir="$( ruby -e 'puts Gem.bindir' )" \ + && path_export "$bin_dir" +} + +ruby_setup + +# Python-specific stuff + +# This is a half-assed way to automatically add your user's pip binary +# directory to $PATH. + +python_setup() { + local python + local user_base + for python; do + command -v "$python" > /dev/null 2>&1 \ + && user_base="$( "$python" -m site --user-base )" \ + && [ -d "$user_base/bin" ] \ + && path_export "$user_base/bin" \ + && continue + break + done +} + +python_setup python3 python + +[ -r "$HOME/.pythonrc" ] && export PYTHONSTARTUP="$HOME/.pythonrc" -- cgit v1.2.3