Skip to content

Instantly share code, notes, and snippets.

@caarlos0
Last active May 9, 2018 07:04
Show Gist options
  • Save caarlos0/84096dcd49cc03eea07b to your computer and use it in GitHub Desktop.
Save caarlos0/84096dcd49cc03eea07b to your computer and use it in GitHub Desktop.
#!/bin/bash -e
# common stuff
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y ubuntu-restricted-extras git zsh terminator curl xsel \
gnome-tweak-tool vim-nox smbclient htop openssh-server s3cmd openvpn network-manager-openvpn
# chrome
wget -O chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i chrome.deb --ignore-depends
rm chrome.deb
sudo apt-get install -fy
# programming fonts
curl -L https://github.com/hbin/top-programming-fonts/raw/master/install.sh | bash
# dotfiles
git clone --recursive https://github.com/caarlos0/dotfiles.git ~/.dotfiles
cd ~/.dotfiles/
mkdir ~/Code
# sublime text 3
sudo add-apt-repository -y ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install -y sublime-text-installer
#java
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get install -y oracle-java{7,8}-installer maven
sudo update-java-alternatives -s java-8-oracle
# dropbox
wget -O dropbox.deb "https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_1.6.2_amd64.deb"
sudo dpkg -i dropbox.deb --ignore-depends
rm dropbox.deb
sudo apt-get install -fy
# postgres
sudo apt-get install -y postgresql pgadmin3 pg-activity
echo -e "local all all trust
host all all 127.0.0.1/32 trust
host all all 10.0.0.0/8 trust" | sudo tee /etc/postgresql/9.4/main/pg_hba.conf
echo "listen_addresses = '*'" | sudo tee -a /etc/postgresql/9.4/main/postgresql.conf
sudo service postgresql restart
# eclipse
wget -O eclipse.tar.gz http://eclipse.c3sl.ufpr.br/technology/epp/downloads/release/luna/SR1/eclipse-jee-luna-SR1-linux-gtk-x86_64.tar.gz
tar xzvf eclipse.tar.gz
sudo mv eclipse /opt/eclipse
rm -rf eclipse.tar.gz
mkdir -p ~/.local/share/applications/
echo "[Desktop Entry]
Name=Eclipse
Comment=Eclipse IDE
Exec=/opt/eclipse/eclipse %F
Icon=/opt/eclipse/icon.xpm
Type=Application
StartupNotify=true
Categories=TextEditor;Development;Utility;
MimeType=text/plain" > ~/.local/share/applications/eclipse.desktop
# eclipse lombok and memory config
echo "-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms128m
-Xmx2048m
-Djavax.xml.accessExternalSchema=all" > /opt/eclipse/eclipse.ini
curl -o /opt/eclipse/lombok.jar http://projectlombok.org/downloads/lombok.jar
java -jar /opt/eclipse/lombok.jar install auto
# eclipse disable stupid shit
mkdir -p /opt/eclipse/disabled/{features,plugins}
mv /opt/eclipse/plugins/org.eclipse.jpt.* /opt/eclipse/disabled/plugins
mv /opt/eclipse/features/org.eclipse.jpt.* /opt/eclipse/disabled/features
# eclipse link to path
sudo ln -s /opt/eclipse/eclipse /usr/bin/eclipse
# diffmerge
wget -O diffmerge.deb http://download-us.sourcegear.com/DiffMerge/4.2.0/diffmerge_4.2.0.697.stable_amd64.deb
sudo dpkg -i diffmerge.deb --ignore-depends
rm -rf diffmerge.deb
sudo apt-get install -fy
# spotify
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59
sudo apt-get update
sudo apt-get install -y spotify-client
# skype
wget -O skype.deb http://download.skype.com/linux/skype-ubuntu-precise_4.3.0.37-1_i386.deb
sudo dpkg -i skype.deb --ignore-depends
rm -rf skype.deb
sudo apt-get install -fy
# rbenv, ruby and mailcatcher
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
sudo apt-get install -y autoconf bison build-essential libssl-dev libyaml-dev \
libreadline6-dev zlib1g-dev libncurses5-dev libsqlite3-dev
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
rbenv install 2.1.4
rbenv global 2.1.4
gem install mailcatcher
# optimize swap usage
echo "vm.swappiness = 1" | sudo tee -a /etc/sysctl.conf
# clean up
sudo apt-get autoclean
sudo apt-get autoremove -y
sudo reboot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment