Skip to content

Instantly share code, notes, and snippets.

@Neoklosch
Last active April 19, 2016 11:13
Show Gist options
  • Save Neoklosch/608b189354b5d560bad0 to your computer and use it in GitHub Desktop.
Save Neoklosch/608b189354b5d560bad0 to your computer and use it in GitHub Desktop.
Install script for new Linux Mint
#!/bin/sh
# TODO: backup from existing installation
# TODO: backup host file
# TODO: hplib
# TODO: sass
# TODO: install sublime plugins
# TODO: install atom plugins
# TODO: install pycharm
startecho() {
echo "----------------------------"
echo "installing $1 components..."
}
endecho() {
echo "install successfully..."
echo "----------------------------"
}
defaultprogramms() {
apt-get install -y make
apt-get install -y wget
apt-get install -y g++
apt-get install -y curl
apt-get install -y build-essential
apt-get install -y libreadline6
apt-get install -y libreadline6-dev
apt-get install -y zlib1g
apt-get install -y zlib1g-dev
apt-get install -y libyaml-dev
apt-get install -y autoconf
apt-get install -y libc6-dev
apt-get install -y ncurses-dev
apt-get install -y automake
apt-get install -y libtool
apt-get install -y bison
apt-get install -y subversion
apt-get install -y pkg-config
apt-get install -y libgdbm-dev
apt-get install -y libffi-dev
apt-get install -y libreadline-dev
apt-get install -y keepassx
apt-get install -y gparted
apt-get install -y filezilla
apt-get install -y checkinstall
apt-get install -y meld
apt-get install -y gnome-do
apt-get install -y parcellite
apt-get install -y ack-grep
apt-get install -y rar
apt-get install -y unrar
apt-get install -y p7zip
apt-get install -y zip
apt-get install -y unzip
apt-get install -y terminator
apt-get install -y libblkid-dev
apt-get install -y libqt4-dev
apt-get install -y gcc
apt-get install -y libcryptsetup-dev
apt-get install -y cmake
apt-get install -y libgcrypt11-dev
apt-get install -y libdevmapper-dev
apt-get install -y uuid-dev
apt-get install -y gprename
apt-get install -y usb-creator-gtk
apt-get install -y httpie
apt-get install -y tree
apt-get -y upgrade
}
removepackages() {
apt-get -y remove thunderbird
apt-get -y remove pidgin
apt-get -y remove banshee
apt-get -y remove xchat
apt-get -y remove transmissiom-gtk
apt-get -y remove simple-scan
}
mongodb() {
apt-get install -y mongodb
mkdir -p /data/db
chmod -R a+rw /data/db
}
git() {
startecho "git"
apt-get install -y git-core
apt-get install -y gitk
apt-get install -y git-gui
apt-get install -y gitg
endecho
}
latex() {
startecho "LaTeX"
apt-get install -y texlive-full
apt-get install -y texmaker
endecho
}
sqlite() {
startecho "SQLite"
apt-get install -y libsqlite3-dev
apt-get install -y sqlite3
apt-get install -y sqliteman
endecho
}
editors() {
startecho "some editors"
apt-get install -y kile
apt-get install -y gedit
apt-get install -y nano
apt-get install -y okular
apt-get install -y haroopad
endecho
}
ssl() {
startecho "SSL"
apt-get install -y libssl-dev
apt-get install -y openssl
endecho
}
composer() {
startecho "composer"
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
endecho
}
zulucrypt() {
startecho "ZuluCrypt"
apt-get install -y tcplay
apt-get install -y libpwquality-dev
apt-get install -y libblkid-dev
apt-get install -y libqt4-dev
apt-get install -y gcc
apt-get install -y g++
apt-get install -y libcryptsetup-dev
apt-get install -y cmake
apt-get install -y libtcplay-dev
apt-get install -y libgcrypt11-dev
apt-get install -y libsecret-1-dev
apt-get install -y pkg-config
apt-get install -y libdevmapper-dev
apt-get install -y uuid-dev
apt-get install -y libudev-dev
apt-get install -y chrpath
apt-get install -y bzip2
wget "https://github.com/mhogomchungu/zuluCrypt/releases/download/4.7.6/zuluCrypt-4.7.6.tar.bz2" -O zuluCrypt.tar.bz2
chmod 755 zuluCrypt.tar.bz2
tar xvjf zuluCrypt.tar.bz2
cd zuluCrypt-4.7.6
cmake -DCMAKE_INSTALL_PREFIX=/usr/ -DNOGNOME=true -DCMAKE_BUILD_TYPE=RELEASE
make
make install
cd ..
rm -Rf zuluCrypt-4.7.6
rm -f zuluCrypt.tar.gz
endecho
}
chrome() {
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
apt-get update
apt-get install -y google-chrome-stable
}
dropbox() {
startecho "Dropbox"
wget "https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2015.02.12_amd64.deb" -O dropbox.deb
chmod 755 dropbox.deb
dpkg --install dropbox.deb
rm -f dropbox.deb
endecho
}
spotify() {
startecho "Spotify"
sh -c 'echo "deb http://repository.spotify.com stable non-free" >> /etc/apt/sources.list'
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59
apt-get update
apt-get install -y spotify-client
endecho
}
skype() {
startecho "Skype"
wget "http://www.skype.com/go/getskype-linux-beta-ubuntu-64" -O skype.deb
chmod 755 skype.deb
dpkg --install skype.deb
rm -f skype.deb
endecho
}
atom() {
startecho "Atom Editor"
wget "https://atom.io/download/deb" -O atom.deb
chmod 755 atom.deb
dpkg --install atom.deb
rm -f atom.deb
endecho
}
sublime() {
startecho "Sublime"
wget "http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2%20x64.tar.bz2" -O sublime.tar.bz2
chmod 755 sublime.tar.bz2
tar xvjf sublime.tar.bz2
chmod -R 755 "Sublime Text 2"
mv "Sublime Text 2" "Sublime-Text-2"
mv "Sublime-Text-2" /opt/
rm -f sublime.tar.bz2
touch /usr/share/applications/sublime.desktop
echo "[Desktop Entry]" >> /usr/share/applications/sublime.desktop
echo "Encoding=UTF-8" >> /usr/share/applications/sublime.desktop
echo "Name=Sublime Text" >> /usr/share/applications/sublime.desktop
echo "Comment=Sublime Text 2" >> /usr/share/applications/sublime.desktop
echo "Exec=sublime_text" >> /usr/share/applications/sublime.desktop
echo "Icon=/opt/Sublime-Text-2/Icon/256x256/sublime_text.png" >> /usr/share/applications/sublime.desktop
echo "Terminal=false" >> /usr/share/applications/sublime.desktop
echo "Type=Application" >> /usr/share/applications/sublime.desktop
echo "Categories=GNOME;GTK;Utility;TextEditor;" >> /usr/share/applications/sublime.desktop
echo "StartupNotify=true" >> /usr/share/applications/sublime.desktop
# TODO: User Settings
# TODO: Packages
endecho
}
# sublimepackages() {
#
# }
python() {
startecho "Python"
apt-get install -y python2.7
apt-get install -y python-gtk2
apt-get install -y python-xlib
apt-get install -y python-dbus
apt-get install -y python-wnck
apt-get install -y libxml2-dev
apt-get install -y libxslt-dev
apt-get install -y python-pip
endecho
}
pythonpackages() {
startecho "Python Packages"
pip install virtualenv
pip install virtualenvwrapper
pip install csvkit
endecho
}
androidstudio() {
startecho "Android Studio"
# TODO: Install Oracal Java before
# apt-get remove openjdk*
# wget "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz" -O jdk.tar.gz
# tar -zxvf jdk.tar.gz
# mkdir -p /opt/java
# mv jdk* /opt/java
# update-alternatives --install "/usr/bin/java" "java" "/opt/java/jdk1.7.0_25/bin/java" 1
# update-alternatives --set java /opt/java/jdk1.7.0_25/bin/java
wget "https://dl.google.com/dl/android/studio/ide-zips/1.3.2.0/android-studio-ide-141.2178183-linux.zip" -O AndroidStudio.zip
unzip AndroidStudio.zip
mv android-studio /opt/
rm -f AndroidStudio.zip
touch /usr/share/applications/android-studio.desktop
echo "[Desktop Entry]" >> /usr/share/applications/android-studio.desktop
echo "Name=Android Studio" >> /usr/share/applications/android-studio.desktop
echo "Comment=IDEA IDE to create Android Apps" >> /usr/share/applications/android-studio.desktop
echo "Icon=/opt/android-studio/bin/studio.png" >> /usr/share/applications/android-studio.desktop
echo "Exec=/opt/android-studio/bin/studio.sh" >> /usr/share/applications/android-studio.desktop
echo "Terminal=false" >> /usr/share/applications/android-studio.desktop
echo "Type=Application" >> /usr/share/applications/android-studio.desktop
echo "Categories=Development;IDE;Java;Android;" >> /usr/share/applications/android-studio.desktop
endecho
}
nodejs() {
startecho "Node.js"
wget "https://nodejs.org/dist/v0.12.7/node-v0.12.7-linux-x64.tar.gz" -O nodejs.tar.gz
chmod 755 nodejs.tar.gz
tar xzvf nodejs.tar.gz
mv node-v0.12.7-linux-x64 nodejs
cd nodejs
./configure
make
make install
cd ..
rm -Rf nodejs
rm -f nodejs.tar.gz
endecho
}
nodepackages() {
startecho "Node.js Packages"
# npm install jslint -g
# npm install express
# npm install socket.io
# npm install grunt-cli
# npm install http-server -g
endecho
}
codecs() {
startecho "some Codecs"
apt-get install -y libxvidcore4
apt-get install -y gstreamer0.10-plugins-base
apt-get install -y gstreamer0.10-plugins-good
apt-get install -y gstreamer0.10-plugins-ugly
apt-get install -y gstreamer0.10-plugins-bad
apt-get install -y gstreamer0.10-plugins-bad-multiverse
apt-get install -y gstreamer0.10-ffmpeg
apt-get install -y gstreamer0.10-alsa
apt-get install -y gstreamer0.10-fluendo-mp3
endecho
}
lamp() {
startecho "LAMP"
apt-get install -y apache2
apt-get install -y php5
apt-get install -y php5-curl
apt-get install -y php5-cli
apt-get install -y php5-mycrypt
apt-get install -y libapache2-mod-php5
apt-get install -y mysql-server
apt-get install -y mysql-client
apt-get install -y libapache2-mod-auth-mysql
apt-get install -y php5-mysql
apt-get install -y mysql-workbench
endecho
}
nginx() {
startecho "nginx"
wget "http://nginx.org/download/nginx-1.9.4.tar.gz" -O nginx.tar.gz
tar xzvf nginx.tar.gz
mv nginx-1.9.4 nginx
cd nginx
./configure
make
make install
cd ..
rm -f nginx.tar.gz
rm -Rf nginx/
endecho
}
createfolder() {
mkdir ~/.scripts
mkdir ~/android-studio-projects
mkdir ~/eclipse-projects
mkdir ~/nodejs-projects
mkdir ~/python-projects
mkdir ~/ruby-projects
mkdir /var/web-projects
ln -s /var/web-projects ~/web-projects
}
openshot() {
add-apt-repository ppa:openshot.developers/ppa
apt-get update
apt-get install openshot-qt
}
all() {
defaultprogramms
ssl
git
zulucrypt
chrome
dropbox
spotify
skype
# sublime
python
pythonpackages
androidstudio
nodejs
# nodepackages
codecs
lamp
nginx
latex
sqlite
editors
# mongodb
# composer
removepackages
createfolder
# openshot
}
if [ $1 == '-h' ] || [ $1 == '--help' ]; then
echo "hilfe"
else
eval $1
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment