My Development Environment Checklist

Lately I’ve been admitted as intern at a tech startup to work on a SDK. To begin the development, my first task is to get my development environment ready. This job allows me to take time to reflect on what I’ve done to make it cozy, and how to make it better or even streamlined.

Configure Shell

Install zsh

  1. try zsh --version to see if Z shell has been installed.
  2. If not, install it by following the instructions here:

    # on centos
    sudo yum update && sudo yum -y install zsh


  • If shell is not changed to zsh, do chsh -s /bin/zsh {username}
  • if you don’t have a .zshrc template, you can copy from GitHub and change name.

Install zsh from source (no need root access)

  1. Install zsh
tar xf zsh-5.6.2.tar.xz
cd zsh-5.6.2
./configure --prefix=${HOME}/local
make -j && make check && make install
  1. Make zsh your default shell

On Centos, add ${HOME}/local/bin/zsh-5.6.2 -l. On Ubuntu, see zsh faq.

Install oh-my-zsh

This is as simple as one line of command:

sh -c "$(curl -fsSL"

Config oh-my-zsh

In ~.zshrc, do the following:

  • change theme to ZSH_THEME="af-magic"
  • add plugins=(autojump)
  • (optional) configure python environment

    # make python3 the default python version to use with virtualenv
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '

Then do source ~/.zshrc to reload the environment.

Configure Vim

Update vim

Install awesome-vim

git clone --depth=1 ~/.vim_runtime
sh ~/.vim_runtime/

Install Vundle

Use vundle to manage plugins like

  • NERDTree
  • bufexplorer
  • YouCompleteMe

Config vim

Basically just copy ~/.vim_runtime/my_configs.vim to the counterpart :p

Configure tmux

Install tmux

To install tmux without root access, see my another post.

Config tmux

Use the tmux conf file here.

$ cd ~
$ git clone
$ ln -s -f .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local .

Other utilities & tools

  • homebrew (on MacOS)
  • htop
  • gcc-4.9 (for OpenMP support on MacOS)


comments powered by Disqus