Skip to content

Instantly share code, notes, and snippets.

@Ammly
Forked from CarloMicieli/install-ubuntu.sh
Last active August 29, 2015 14:11
Show Gist options
  • Save Ammly/871b9ecaed3fcb5ade48 to your computer and use it in GitHub Desktop.
Save Ammly/871b9ecaed3fcb5ade48 to your computer and use it in GitHub Desktop.
#!/bin/bash
## The post install script for Ubuntu 14.04 LTS
## @author Carlo Micieli
## @version 5.0.5
## Constants
NONE='\e[39m'
RED='\e[31m'
GREEN='\e[32m'
CYAN='\e[36m'
ok() {
echo -e "${GREEN}`date +%H:%M:%S`] $1${NONE}"
}
info() {
echo -e "${CYAN}`date +%H:%M:%S`] $1${NONE}"
}
error() {
echo -e "${RED}`date +%H:%M:%S`] $1${NONE}"
}
update_system() {
info "Updating system..."
apt-get -qq update && apt-get -qq -y dist-upgrade
}
clean() {
into "Cleanup"
apt-get clean
apt-get autoremove
}
## Add a ppa repository
add_ppa() {
REPO_URL=$1
add-apt-repository -y ppa:$REPO_URL
}
## Add a repo url to system sources
add_repo() {
NAME=$1
REPO=$2
eval sh -c 'echo "${REPO}" > /etc/apt/sources.list.d/${NAME}.list'
}
get_key() {
KEYSERVER=$1
KEY=$2
apt-key adv --keyserver $KEYSERVER --recv-keys $KEY
}
register_key() {
KEY_URL=$1
wget -q -O - $KEY_URL | apt-key add -
}
disable_apport() {
cat /etc/default/apport | sed -e "s/enabled=1/enabled=0/" > /etc/default/apport_new
mv /etc/default/apport_new /etc/default/apport
service apport restart
}
install_intel_drivers() {
wget -q -O intel-graphics-64tt.deb http://goo.gl/1wyEm7
dpkg -i intel-graphics-64tt.deb
rm intel-graphics-64tt.deb
}
set_gnome_settings() {
dconf write /org/compiz/profiles/unity/plugins/unityshell/icon-size
gsettings set org.gnome.desktop.interface icon-theme 'Faenza-Darkest'
gsettings set org.gnome.desktop.interface gtk-theme 'Numix'
gsettings set org.gnome.desktop.wm.preferences theme 'Numix'
gsettings set org.gnome.desktop.interface font-name 'Ubuntu 10'
gsettings set org.gnome.desktop.interface document-font-name 'Sans 10'
gsettings set org.gnome.desktop.interface monospace-font-name 'Monaco 11'
gsettings set org.gnome.desktop.interface clock-show-date true
gsettings set org.gnome.desktop.interface clock-show-seconds true
gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Ubuntu Bold 10'
gsettings set com.canonical.indicator.session show-real-name-on-panel true
gsettings set org.gnome.desktop.screensaver lock-enabled false
gsettings set com.canonical.Unity.Lenses remote-content-search 'none'
## NEMO as default http://www.noobslab.com/2014/02/set-nemo-as-default-file-manager-in.html
xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search
gsettings set org.gnome.desktop.background show-desktop-icons false
gsettings set org.nemo.desktop show-desktop-icons true
xdg-mime query default inode/directory
}
set_gedit_settings() {
gsettings set org.gnome.gedit.preferences.editor create-backup-copy false
gsettings set org.gnome.gedit.preferences.editor tabs-size 4
gsettings set org.gnome.gedit.preferences.editor insert-spaces true
gsettings set org.gnome.gedit.preferences.editor scheme 'oblivion'
}
install_liquid_prompt() {
cd
git clone https://github.com/nojhan/liquidprompt.git
sh -c 'echo source ~/liquidprompt/liquidprompt' >> ~/.bashrc
}
add_ppa_repos() {
info "Adding repos..."
add_ppa "mozillateam/firefox-next"
add_ppa "libreoffice/ppa"
add_ppa "git-core/ppa"
add_ppa "freefilesync/ffs"
add_ppa "atareao/sunflower"
add_ppa "danielrichter2007/grub-customizer"
add_ppa "djcj/vlc-stable"
add_ppa "otto-kesselgulasch/gimp"
add_ppa "teejee2008/ppa"
add_ppa "numix/ppa"
add_ppa "noobslab/icons"
add_ppa "noobslab/apps"
add_ppa "noobslab/themes"
add_ppa "tualatrix/ppa"
add_ppa "ubuntu-wine/ppa"
add_ppa "chris-lea/node.js"
add_ppa "chris-lea/redis-server"
add_ppa "nginx/stable"
add_ppa "mdoyen/homebank"
add_ppa "andrewsomething/typecatcher"
add_ppa "ermshiperete/monodevelop"
add_ppa "webupd8team/atom"
add_ppa "webupd8team/nemo"
add_ppa "webupd8team/sublime-text-2"
add_ppa "c.falco/mame"
add_ppa "shutter/ppa"
add_ppa "djcj/screenfetch"
}
add_dropbox_ppa() {
add_repo "dropbox", "deb http://linux.dropbox.com/ubuntu/ trusty main"
get_key "pgp.mit.edu" "5044912E"
}
add_spotify_ppa() {
add_repo "spotify", "deb http://repository.spotify.com stable non-free"
get_key "keyserver.ubuntu.com" "94558F59"
}
add_mongodb_ppa() {
add_repo "mongodb" "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen"
get_key "keyserver.ubuntu.com" "7F0CEB10"
}
add_opera_ppa() {
add_repo "opera" "deb http://deb.opera.com/opera/ stable non-free #Opera Browser (final releases)"
register_key "http://deb.opera.com/archive.key"
}
add_neo4j_ppa() {
add_repo "neo4j" "deb http://debian.neo4j.org/repo stable/"
register_key "http://debian.neo4j.org/neotechnology.gpg.key"
}
add_virtualbox_ppa() {
add_repo "virtualbox" "deb http://download.virtualbox.org/virtualbox/debian trusty contrib"
register_key "http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc"
}
add_google_chrome_ppa() {
add_repo "google-chrome" "deb http://dl.google.com/linux/chrome/deb/ stable main"
register_key "https://dl-ssl.google.com/linux/linux_signing_key.pub"
}
add_postgresql_ppa() {
add_repo "postgresql" "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main"
register_key "https://www.postgresql.org/media/keys/ACCC4CF8.asc"
}
install_themes() {
info "Installing themes and icons..."
apt-get install -qq numix-gtk-theme numix-icon-theme numix-icon-theme-circle \
flatwoken-icons deepin-gtk-theme deepin-icon-theme faience-theme faience-icon-theme faenza-icon-theme
install_packages() {
info "Installing packages..."
apt-get install -qq git freefilesync curl ncdu pdfjam tree grub-customizer \
ttf-ancient-fonts filezilla build-essential gparted ubuntu-restricted-extras \
menulibre sunflower xclip fontforge spotify-client-qt vlc banshee inkscape gimp \
deluge openshot gpodder opera conky-all conky-manager ubuntu-tweak font-manager xutils-dev \
gnome-tweak-tool unity-tweak-tool openjdk-7-doc openjdk-7-jdk openjdk-7-jre \
python-setuptools mongodb-org neo4j nodejs retext virtualbox wine1.7 winetricks libncurses5-dev libtinfo-dev \
haskell-platform ccal nginx postgresql-9.3 pgadmin3 homebank typecatcher atom \
unace scummvm libopenraw1 libopenrawgnome1 gnome-raw-thumbnailer dia p7zip-rar p7zip-full \
handbrake-gtk handbrake-cli tomcat7 leksah mono-complete fsharp monodevelop-5 ruby1.9.1-dev \
pandoc texlive-latex-base texlive-fonts-recommended lmodern redis-server redis-tools httpie xchat-gnome \
mercurial meld nemo nemo-fileroller nemo-dropbox nemo-compare dconf-tools dconf-editor mame shutter screenfetch
}
if [ "$(id -u)" != "0" ]; then
echo "Sorry, you don't have sufficient privileges to run this script."
echo "Try with sudo $0"
exit 1
fi
update_system
clean
disable_apport
set_gnome_settings
set_gedit_settings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment