Skip to content

Instantly share code, notes, and snippets.

@rotemreiss
Last active May 18, 2024 21:32
Show Gist options
  • Save rotemreiss/1cb818a66c0943542a62076af1d044d4 to your computer and use it in GitHub Desktop.
Save rotemreiss/1cb818a66c0943542a62076af1d044d4 to your computer and use it in GitHub Desktop.
Shell script to setup all the basic development tools on fresh Ubuntu 18.04.
#!/bin/sh
# @todo Automate the manual steps at the bottom
# Make it work (broken on Ubuntu 18.04)
#if [[ $EUID -ne 0 ]];
#then
# exec sudo /bin/bash "$0" "$@"
#fi
echo "Update Linux"
apt-get -qq update
echo "Install the very basics.."
apt -qq -y install vim curl wget jq python3-pip gnome-tweak-tool
echo "Install AV"
apt -qq -y install clamtk
echo "Install Git"
apt -qq -y install git-core
git config --global core.eol lf
git config --global core.autocrlf input
echo "Install 7zip"
apt -qq -y install p7zip-full
echo "Install JAVA"
apt -qq -y install default-jre
apt -qq -y install default-jdk
echo "Install MySQL Workbench"
apt -qq -y install mysql-workbench
echo "Install nodejs and npm"
apt -qq -y install nodejs npm
echo "Install tldr (`man` on steroids)"
npm install -g tldr
echo "Install Filezilla"
apt -qq -y install filezilla
# @see https://github.com/emre/storm
echo "Install Storm SSH"
pip3 install -y stormssh
# Broken.. Should be fixed.
#cd /opt
#git clone https://github.com/hexvalid/Linux-CapsLock-Delay-Fixer.git capslockfixer
#bash -ic "sh ./capslockfixer/bootstrap.sh"
echo "Create our web directory /var/www/html"
mkdir -p /var/www/html
chmod 774 /var/www/html
cd /tmp
echo "Installing Chrome"
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
apt update
apt -qq -y install google-chrome-stable
echo "Installing Docker"
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
echo "Installing Lando (latest)"
wget -O lando-latest.deb $(curl -sL https://api.github.com/repos/lando/lando/releases | jq -r '.[0].assets[].browser_download_url' | grep ".deb")
dpkg -i lando-latest.deb
echo "Installing zsh and improved shell"
apt -qq -y install zsh
apt -qq -y install fonts-powerline
echo "Installing PhpStorm"
snap install phpstorm --classic
# Make some adjustments to allow PhpStorm to run smoothly.
wget -O /etc/sysctl.d/60-jetbrains.conf https://gist.githubusercontent.com/bittner/c7d1d49fe0c9af907f24/raw/e2448528477ca3508ad480bea52d3dad54a58f10/60-jetbrains.conf
echo "Installing Slack"
snap install slack --classic
echo "Installing Sublime"
snap install sublime-text --classic
echo "Installing ngrok"
snap install ngrok --classic
echo "Installing Skype"
snap install skype --classic
echo "Install Beyond Compare"
snap install --classic bcompare
echo "Install Peek (GIF recorder)"
add-apt-repository -y ppa:peek-developers/stable
apt -qq update
apt -qq -y install peek
# @see https://vitux.com/how-to-install-teamviewer-on-ubuntu/
# echo "Install TeamViewer"
# wget https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc
# apt-key add TeamViewer2017.asc
# sh -c 'echo "deb http://linux.teamviewer.com/deb stable main" >> /etc/apt/sources.list.d/teamviewer.list'
# apt update
# apt install teamviewer
# Required me to run apt --fix-broken install after the installation..
# @see https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux
echo "Install Google Drive"
add-apt-repository -y ppa:alessandro-strada/ppa
apt update
apt -qq -y install google-drive-ocamlfuse
google-drive-ocamlfuse
echo "Run the following after the installation is done."
echo "mkdir ~/googledrive"
echo "google-drive-ocamlfuse ~/googledrive"
echo ""
echo "All done."
echo ""
echo "Please run the following to allow access to your user to the newly created web directory"
echo "chown your-user /var/www/html"
echo ""
echo "Please run the following command manually to use Docker:"
echo "sudo usermod -aG docker your-user"
echo ""
echo "To use zsh shell please return to your user and run the two following commands"
echo "wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh"
echo "chsh -s `which zsh`"
echo ""
echo 'Run `ssh-keygen` and then `cat ~/.ssh/id_rsa.pub` from your user'
echo "Please reboot to apply all changes and start zshing.. :)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment