Commit 794ff4a6 authored by Marc Cornellà's avatar Marc Cornellà
Browse files

installer: add ability to skip the default shell change


Co-authored-by: default avatarMarshall Ford <inbox@marshallford.me>
Co-authored-by: default avatarJoel Kuzmarski <leoj3n@gmail.com>
parent 43b3126b
......@@ -10,9 +10,12 @@
# sh install.sh
#
# Respects these environment variables for tweaking the installation process:
# ZSH - path to the Oh My Zsh repository folder (default: $HOME/.oh-my-zsh)
# REPO - name of the GitHub repo to install from (default: robbyrussell/oh-my-zsh)
# REMOTE - full remote URL of the git repo to install (default: GitHub via HTTPS)
# BRANCH - branch to check out immediately after install (default: master)
# Other options:
# CHSH - set to no tells the installer not to change the default shell (default: yes)
#
set -e
......@@ -22,6 +25,10 @@ REPO=${REPO:-robbyrussell/oh-my-zsh}
REMOTE=${REMOTE:-https://github.com/${REPO}.git}
BRANCH=${BRANCH:-master}
# Other options
CHSH=${CHSH:-yes}
command_exists() {
command -v "$@" >/dev/null 2>&1
}
......@@ -118,6 +125,11 @@ export ZSH=\"$ZSH\"
}
setup_shell() {
# Skip setup if the user wants or stdin is closed (not running interactively).
if [ $CHSH = no ] || ! [ -t 0 ]; then
return
fi
# If this user's login shell is already "zsh", do not attempt to switch.
if [ "$(basename "$SHELL")" = "zsh" ]; then
return
......@@ -161,6 +173,14 @@ setup_shell() {
}
main() {
# Parse arguments
while [ $# -gt 0 ]; do
case $1 in
--skip-chsh) CHSH=no ;;
esac
shift
done
setup_color
if ! command_exists zsh; then
......@@ -202,4 +222,4 @@ main() {
exec zsh -l
}
main
main "$@"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment