Skip to content

Instantly share code, notes, and snippets.

@JarLowrey
Last active February 12, 2019 05:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JarLowrey/3dc0946d9fbe5348d648 to your computer and use it in GitHub Desktop.
Save JarLowrey/3dc0946d9fbe5348d648 to your computer and use it in GitHub Desktop.
#!/bin/sh
echo $0
# Auto-run via:
# sh -c "$(curl -fsSL https://gist.githubusercontent.com/JTronLabs/3dc0946d9fbe5348d648/raw/5186b71054c6a0bed72ccaf1e4fd44184622916f/setup_new_debian_os.sh)"
MY_NAME="James Lowrey"
GIT_EMAIL="jtronlabs@gmail.com"
VERT_SPACE="\n\n\n\n\n"
##### UPDATE SYSTEM #####
update_system(){
echo -e " $VERT_SPACE Updating system $VERT_SPACE "
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get autoclean #removes partially installed packages (compatibility help)
sudo dpkg --configure -a # "Configure a package which has been unpacked but not yet configured. If -a or --pending is given instead of package, all unpacked but unconfigured packages are configured." - from 'man' page
}
##### Utilities ######
echo -e " $VERT_SPACE Utilities $VERT_SPACE "
sudo apt-get -y install curl
sudo apt-get -y install daemon #allows you to run programs from the terminal as background processes
sudo apt install -y gnupg2
sudo apt-get -y install gparted
sudo apt-get -y install git
git config --global user.email $GIT_EMAIL
git config --global user.name $MY_NAME
sudo apt-get -y install apache2
##### REMOVE PRE-INSTALLED STUFF #####
echo -e " $VERT_SPACE Remove some pre-installed stuff - Amazon shopping, Thunderbird $VERT_SPACE "
sudo apt-get -y remove unity-webapps-common
sudo apt-get -y purge thunderbird*
###
##### ADDING REPOSITORIES #####
#Add repos before running `sudo apt-get update`, as you need to run it after each added repo otherwise
echo -e " $VERT_SPACE Adding repositories $VERT_SPACE "
sudo add-apt-repository -y ppa:webupd8team/java
sudo add-apt-repository -y ppa:kritalime/ppa
sudo add-apt-repository -y ppa:webupd8team/atom
sudo apt-add-repository -y ppa:obsproject/obs-studio
sudo add-apt-repository -y ppa:gezakovacs/ppa #unetbootin
yes | sudo add-apt-repository -y ppa:thomas-schiex/blender
sudo apt-add-repository -y ppa:maarten-fonville/android-studio
##### ADDING BASIC STUFF #####
echo -e " $VERT_SPACE Adding basic stuff: curl, daemon, unetbootin, GParted, Git, Apache2, KeePass2 $VERT_SPACE "
sudo apt-get -y install keepass2
sudo apt-get -y install unetbootin
##### UPDATE SYSTEM #####
update_system
##### SETUP LANGUAGES #####
echo -e " $VERT_SPACE Installing Node.js and its packages using NVM $VERT_SPACE "
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash #Install NVM
export NVM_DIR="/home/james/.nvm" # This loads nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
command -v nvm # if it worked, "nvm" will be printed
nvm install node # Install Node
nvm use default # use NVM installation of node - just in case a system installation already exists
nvm alias default node #save the node version after closing the shell
nvm which current # location of the current version of node - should have ".nvm" in the name #compile JS apps to hybrid mobile apps
sudo apt -y remove cmdtest
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get install yarn -y
#http://railsapps.github.io/installrubyonrails-ubuntu.html
echo -e " $VERT_SPACE Installing Ruby (using RVM) and Gems - http://railsapps.github.io/installrubyonrails-ubuntu.html $VERT_SPACE "
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm -y
#rvm get stable --autolibs=enable
#rvm get stable --auto-dotfiles
#rvm install ruby --latest
#rvm use --latest --default
#rvm all do gem update --system --no-document #Update gems
#echo "[[ -s \"\$HOME/.rvm/scripts/rvm\" ]] && source \"\$HOME/.rvm/scripts/rvm\"" >> ~/.bashrc # Make RVM load in bashrc instead of bash_profile only http://stackoverflow.com/a/16103755
#sudo apt install -y postgresql postgresql-contrib #https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-18-04
#gem install bundler
# rvm info #show details about your ruby installation
# rvm list
echo 'rvm use default' >> ~/.bash_profile
echo 'nvm use default' >> ~/.bash_profile
echo -e " $VERT_SPACE Installing Python and its packages $VERT_SPACE "
sudo apt-get -y install python2.7
sudo apt-get -y install python-pip
sudo apt-get -y install python3
sudo apt-get -y install python3-pip
pip3 install -U nltk
pip3 install -U numpy
pip3 install -U scikit-learn
echo -e " $VERT_SPACE Installing Java 8 - http://www.2daygeek.com/install-oracle-java-9-8-7-6-on-ubuntu-mint-via-ppa/ $VERT_SPACE "
sudo apt-get -y install oracle-java8-installer
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections #auto accept oracle license agreement for java8
sudo apt-get -y install oracle-java8-set-default
##### SETUP APPLICATIONS #####
echo -e " $VERT_SPACE Installing SIGNAL $VERT_SPACE "
curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -
echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list
sudo apt update && sudo apt install -y signal-desktop
#https://github.com/brave/browser-laptop/blob/master/docs/linuxInstall.md
# echo -e " $VERT_SPACE Installing BRAVE BROWSER $VERT_SPACE "
# curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key add -
# echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ `lsb_release -sc` main" | sudo tee /etc/apt/sources.list.d/brave-browser-release-`lsb_release -sc`.list
# sudo apt update
# sudo apt install -y brave-browser brave-keyring
echo -e " $VERT_SPACE Installing Chrome $VERT_SPACE "
sudo apt-get -y install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
yes | sudo dpkg -i google-chrome*.deb
rm -f google-chrome*.deb
echo -e " $VERT_SPACE Installing VLC Media Player (and removing default media players) - http://www.videolan.org/vlc/index.html $VERT_SPACE "
sudo apt-get -y install vlc libdvdcss2
sudo apt-get -y remove rhythmbox #remove default music player
sudo apt-get -y remove totem-gstreamer totem-common #remove default video player
echo -e " $VERT_SPACE Installing Shutter - http://shutter-project.org/ $VERT_SPACE "
sudo apt-get -y install shutter
echo -e " $VERT_SPACE Installing OBS - https://obsproject.com/ $VERT_SPACE "
sudo apt-get -y install ffmpeg obs-studio
echo -e " $VERT_SPACE Installing Sox - the swiss army knife of sound processing $VERT_SPACE "
sudo apt-get -y install sox
sudo apt-get -y install libsox-fmt-mp3
echo -e " $VERT_SPACE Installing Audacity - http://www.audacityteam.org/ $VERT_SPACE "
sudo apt-get -y install audacity
echo -e " $VERT_SPACE Installing PuddleTag - http://docs.puddletag.net/ $VERT_SPACE "
sudo apt-get -y install puddletag
echo -e " $VERT_SPACE Installing GIMP - https://www.gimp.org/ $VERT_SPACE "
sudo add-apt-repository -y ppa:otto-kesselgulasch/gimp
sudo apt-get update
sudo apt-get install -y gimp
echo -e " $VERT_SPACE Installing Krita - https://krita.org/ $VERT_SPACE "
sudo add-apt-repository -y ppa:kritalime/ppa
sudo apt-get install -y krita
echo -e " $VERT_SPACE Installing Blender - https://www.blender.org/ $VERT_SPACE "
sudo apt-get -y install blender
echo -e " $VERT_SPACE Installing Calibre - https://calibre-ebook.com/ $VERT_SPACE "
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
echo -e " $VERT_SPACE Installing VirtualBox - https://www.virtualbox.org/wiki/Linux_Downloads $VERT_SPACE "
sudo apt-get -y install virtualbox
echo -e " $VERT_SPACE Installing deluge torrent client $VERT_SPACE "
sudo apt-get -y purge transmission-gtk
sudo apt-get -y install deluge
echo -e " $VERT_SPACE Installing InkScape - https://inkscape.org/en/ $VERT_SPACE "
sudo apt-get -y install inkscape pstoedit
echo -e " $VERT_SPACE \n\nInstalling Map Editor - 'Tiled' - http://www.mapeditor.org/\n\n $VERT_SPACE "
sudo apt-get -y install tiled
#Phaser
#Additional Resources:
# Sprite packing : https://draeton.github.io/stitches/
npm install --global generator-phaser-plus #YeoMan tool to auto-gen phaser game project
#wget -O ~/Downloads/phaser.zip "https://github.com/photonstorm/phaser/archive/master.zip" #source
#wget -O ~/Downloads/phaser-tutorials.zip "https://github.com/photonstorm/phaser-coding-tips/archive/master.zip" #tutorials
#wget -O ~/Downloads/phaser-flappy-bird.zip "https://github.com/marksteve/dtmb/archive/gh-pages.zip" #tutorials
##### SETUP IDE's #####
echo -e " $VERT_SPACE Installing VS Code - https://code.visualstudio.com/docs/setup/linux#_installation $VERT_SPACE "
cd ~/Downloads
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt-get update
sudo apt-get install code
#add fav code options
sed -i '/{/a "editor.minimap.enabled": true, "terminal.integrated.shellArgs.linux": ["--login"]' $HOME/.config/Code/User/settings.json
echo -e " $VERT_SPACE Installing Android Studio (Requires Java 8!!!) $VERT_SPACE "
sudo apt-get -y install android-studio
/opt/android-studio/bin/studio.sh #Must open AS and do the first time setup, in order to install the SDK correctly
#add the ANDROID_HOME var and android tools to PATH. Remember you changed to a login shell? add it to the profile then. If you forgot to change to a login shell, add it to ~/.bashrc
echo "export ANDROID_HOME=\"/home/james/Android/Sdk/\" " >> ~/.profile #http://spring.io/guides/gs/android/
echo "export PATH=$PATH:${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools " >> ~/.profile
/home/james/Android/Sdk/tools/android #Open SDK Manager and install a bunch of tools
sudo apt-get -y install android-tools-adb #android debugging tools
echo -e " $VERT_SPACE Installing R $VERT_SPACE "
sudo apt-get install -y r-base
#download and install R-studio manually - https://www.rstudio.com/products/rstudio/download/
if false; then
echo -e " $VERT_SPACE Installing Atom - https://atom.io/ $VERT_SPACE "
sudo apt-get -y install atom
#These are my favorite Atom Packages, view at https://gist.github.com/JTronLabs/941821b71a746dc31f418fd03a6c7236, this auto-installs them all
sh -c "$(curl -fsSL https://gist.githubusercontent.com/JTronLabs/941821b71a746dc31f418fd03a6c7236/raw/a7ad1b47d1ea72d06d304db3202475930b5362b6/atom_stater_pack.sh)"
#get Brackets - http://brackets.io/
sudo add-apt-repository -y ppa:webupd8team/brackets
sudo apt-get -y update
sudo apt-get -y install brackets
fi
echo -e " $VERT_SPACE Installing Spotify $VERT_SPACE "
snap install spotify
echo -e " $VERT_SPACE Installing LibreOffice $VERT_SPACE "
snap install libreoffice
echo -e " $VERT_SPACE Finishing up... $VERT_SPACE "
sudo apt-get -f -y install #install unmet dependencies
##### UPDATE SYSTEM #####
update_system
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment