Skip to content

Instantly share code, notes, and snippets.

@thinmy
Created October 9, 2018 10:51
Show Gist options
  • Save thinmy/53f16eac4781311ebd5b5637659dc5af to your computer and use it in GitHub Desktop.
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.
#!/bin/sh
export USER=ndaidong
export GIT_NAME='Dong Nguyen'
export GIT_EMAIL='ndaidong@gmail.com'
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