Created
October 9, 2018 10:51
-
-
Save thinmy/53f16eac4781311ebd5b5637659dc5af to your computer and use it in GitHub Desktop.
Setup dev environment using Ubuntu 18.04 MinimalCD, with Xubuntu Minimal DE, Node.js, Python, Golang, and more stuff.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
export USER=ndaidong | |
export GIT_NAME='Dong Nguyen' | |
export GIT_EMAIL='[email protected]' | |
export PYTHON_VERSION=3.6.5 | |
export PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz | |
export GO_VERSION=1.10.2 | |
export GO_DOWNLOAD_URL=https://storage.googleapis.com/golang/go$GO_VERSION.linux-amd64.tar.gz | |
export GOPATH=/usr/local/lib/go | |
export GOROOT=/usr/local/go | |
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin | |
export NODE_VERSION=8.11.1 | |
export NODE_DOWNLOAD_URL=https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.gz | |
sudo apt update | |
sudo apt install --no-install-recommends -y \ | |
software-properties-common ca-certificates build-essential \ | |
libssl-dev libreadline-dev libbz2-dev libsqlite3-dev zlib1g-dev \ | |
make curl wget ccze ffmpeg \ | |
python-minimal git nginx nginx-extras htop \ | |
xfce4-systemload-plugin \ | |
xfce4-time-out-plugin \ | |
xfce4-taskmanager \ | |
thunar-archive-plugin file-roller \ | |
xscreensaver xscreensaver-gl-extra xscreensaver-data-extra \ | |
vim vim-gnome \ | |
parole vlc viewnior gthumb mugshot \ | |
gimp kolourpaint4 gnome-disk-utility \ | |
inetutils-tools software-center | |
git config --global user.name $GIT_NAME | |
git config --global user.email $GIT_EMAIL | |
git config --global core.editor "nano" | |
sudo chown $USER ~/.config | |
sudo chown $USER /etc/hosts | |
sudo chown $USER -R /etc/nginx/sites-enabled | |
sudo chown $USER -R /var/www | |
cd ~/Downloads | |
# install Python | |
wget "$PYTHON_DOWNLOAD_URL" -O python.tar.tgz | |
tar -zxvf python.tar.tgz | |
cd Python-$PYTHON_VERSION | |
./configure --enable-optimizations --enable-loadable-sqlite-extensions | |
make | |
sudo make install | |
cd .. | |
sudo rm -rf Python-$PYTHON_VERSION | |
alias python=python3 | |
alias pip=pip3 | |
pip install --upgrade pip | |
python --version | |
pip --version | |
# install Golang | |
sudo mkdir ${GOPATH} | |
sudo chown $USER -R ${GOPATH} | |
wget "$GO_DOWNLOAD_URL" -O golang.tar.gz | |
tar -zxvf golang.tar.gz | |
sudo mv go ${GOROOT} | |
go version | |
# install Node.js | |
wget "$NODE_DOWNLOAD_URL" -O node.tar.gz | |
tar -zxvf node.tar.gz | |
cd node-v$NODE_VERSION | |
./configure | |
make | |
sudo make install | |
sudo chown $USER -R /usr/local/lib/node_modules | |
sudo chown $USER -R /usr/local/bin | |
sudo chown $USER -R /usr/local/share | |
cd .. | |
npm u -g npm | |
npm i -g npm | |
rm -rf node-v$NODE_VERSION | |
node --version | |
npm --verion |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment