Skip to content

Instantly share code, notes, and snippets.

@geakstr
Last active January 4, 2016 14:09
Show Gist options
  • Save geakstr/8632955 to your computer and use it in GitHub Desktop.
Save geakstr/8632955 to your computer and use it in GitHub Desktop.
Compile and install ZSH and Oh My ZSH
#!/bin/bash
# Run: ./install_zsh username
username=$1
export ZHS_OH_MY_ZSH_URL=https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh &&
export ZSH_OH_MY_THEME_URL=https://gist.github.com/geakstr/8632148/raw/1ff4feb98a43e4802e5d55973cfa6d8a5a73fc74/oh-my-theme.zsh-theme &&
export ZSH_DOWNLOAD_VERSION=5.0.5 &&
cd /tmp &&
sudo aptitude install ncurses-dev &&
wget http://www.zsh.org/pub/zsh-$ZSH_DOWNLOAD_VERSION.tar.bz2 &&
tar xvf zsh-$ZSH_DOWNLOAD_VERSION.tar.bz2 && cd zsh-$ZSH_DOWNLOAD_VERSION &&
./configure \
--prefix=/usr \
--bindir=/bin \
--sysconfdir=/etc/zsh \
--enable-etcdir=/etc/zsh &&
make &&
makeinfo Doc/zsh.texi --html -o Doc/html &&
makeinfo Doc/zsh.texi \
--html --no-split --no-headers -o Doc/zsh.html &&
makeinfo Doc/zsh.texi --plaintext -o Doc/zsh.txt &&
sudo make install &&
sudo make infodir=/usr/share/info install.info &&
sudo install -v -m755 -d /usr/share/doc/zsh-$ZSH_DOWNLOAD_VERSION/html &&
sudo install -v -m644 Doc/html/* \
/usr/share/doc/zsh-$ZSH_DOWNLOAD_VERSION/html &&
sudo install -v -m644 Doc/zsh.{html,txt} \
/usr/share/doc/zsh-$ZSH_DOWNLOAD_VERSION &&
sudo sh -c "echo /bin/zsh >> /etc/shells" &&
sudo sh -c "echo /bin/zsh-$ZSH_DOWNLOAD_VERSION >> /etc/shells" &&
sudo chsh -s /bin/zsh $username &&
curl -L $ZHS_OH_MY_ZSH_URL | sh &&
export CURRENT_LOCALE=en_US.UTF-8 &&
echo "export CURRENT_LOCALE=en_US.UTF-8" >> ~/.zshrc &&
echo "export LANG=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LANGUAGE=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_CTYPE=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_NUMERIC=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_TIME=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_COLLATE=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_MONETARY=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_MESSAGES=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_PAPER=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_NAME=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_ADDRESS=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_TELEPHONE=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_MEASUREMENT=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_IDENTIFICATION=$CURRENT_LOCALE" >> ~/.zshrc &&
echo "export LC_ALL=$CURRENT_LOCALE" >> ~/.zshrc &&
wget $ZSH_OH_MY_THEME_URL -O ~/.oh-my-zsh/themes/oh-my-theme.zsh-theme &&
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="oh-my-theme"/g' ~/.zshrc &&
sudo reboot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment