Skip to content

Instantly share code, notes, and snippets.

@schacki
Forked from waleedahmad/post_install.sh
Last active February 12, 2021 20:30
Show Gist options
  • Select an option

  • Save schacki/28596e1be5a3f36b60fe55afda244f6e to your computer and use it in GitHub Desktop.

Select an option

Save schacki/28596e1be5a3f36b60fe55afda244f6e to your computer and use it in GitHub Desktop.
Ubuntu post installation script for installing software of your choice.
#!/bin/bash
# sudo curl -L https://gist.github.com/schacki/28596e1be5a3f36b60fe55afda244f6e/raw | sh
sudo apt-get install dialog
cmd=(dialog --separate-output --checklist "Please Select Software you want to install:" 22 76 16)
options=(
1 "Update System" off # any option can be set to default to "on"
2 "Enable PPAs" off
3 "Build Essentials" off
4 "Snap" off
5 "Core Helpers" off
6 "Multimedia Codecs" off
7 "Archive Formats" off
8 "Elementary Tweaks" off
9 "Mojave Theme" off
10 "Adapta theme" off
11 "Papirus Icons" off
12 "Paper Icon Theme" off
13 "Zoomable Icon Tray" off
14 "Git" off
15 "Kraken" off
16 "Docker" off
17 "VSCode" off
18 "Python" off
19 "Node" off
20 "Angular" off
21 "Ionic" off
22 "JDK 8" off
23 "VLC Media Player" off
24 "Google Chrome" off
25 "Libre Office" off
26 "Libre Office Elementary Theme" off
27 "Remove & Clean" off
)
choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
clear
for choice in $choices
do
case $choice in
1)
echo "Updating and Upgrading"
sudo apt-get update && sudo apt-get upgrade -y && sudo apt autoremove -y && sudo apt autoclean -y
;;
2)
echo "Enabling PPAs"
sudo apt-get install software-properties-common -y
;;
3)
echo "Installing Build Essentials"
sudo apt install build-essential -y
;;
4)
echo "Installing Snap"
sudo apt install snapd -y
;;
5)
echo "Core Helpers"
sudo apt install apt-transport-https gnupg-agent ca-certificates curl wget -y
;;
6)
echo "Installing Multimedia Codecs"
sudo apt install ubuntu-restricted-extras libavcodec-extra libdvd-pkg -y
sudo dpkg-reconfigure libdvd-pkg
;;
7)
echo "Installing Archive Formats"
sudo apt-get install unace rar unrar p7zip-rar p7zip sharutils uudeview mpack arj cabextract lzip lunzip -y
;;
8)
echo "Adding Elementary Tweak"
sudo add-apt-repository ppa:philip.scott/elementary-tweaks -y
sudo apt-get update
sudo apt-get install elementary-tweaks -y
;;
9)
echo "Installing Mojave Theme"
sudo snap install mojave-themes
;;
10)
echo "Installing Adapta Theme"
sudo apt-add-repository ppa:tista/adapta -y
sudo apt install adapta-gtk-theme -y
;;
11)
echo "Installing Papirus Icons"
sudo add-apt-repository ppa:papirus/papirus -y
sudo apt install papirus-icon-theme -y
;;
12)
echo "Installing Paper Icon Theme"
sudo add-apt-repository -u ppa:snwh/ppa -y
sudo apt-get install paper-icon-theme -y
;;
13)
echo "Installing Zoomable Icon Tray"
echo "Icon Tray"
sudo add-apt-repository ppa:ricotz/docky -y
sudo apt-get update
sudo apt-get install plank -y
;;
14)
echo "Installing Git, please congiure git later..."
sudo apt install git -y
;;
15)
echo "Installing Kraken"
wget https://release.gitkraken.com/linux/gitkraken-amd64.deb
sudo dpkg -i gitkraken-amd64.deb
rm gitkraken-amd64.deb
;;
16)
echo "Installing Docker"
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
;;
17)
echo "Installing VSCode"
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code -y
rm packages.microsoft.gpg
;;
18)
echo "Installing Python"
sudo apt install -y python3-pip libssl-dev libffi-dev python3-dev python-is-python3 -y
sudo unlink /usr/bin/python
sudo ln -sv python3 /usr/bin/python
sudo apt install python3-pip -y
sudo ln -sv pip3 /usr/bin/pip
pip install -U pip
;;
19)
echo "Installing Node"
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
nvm install --lts
;;
20)
echo "Installing Angular"
npm install -g @angular/cli
;;
21)
echo "Installing Ionic"
npm install -g @ionic/cli
;;
22)
#JDK 8
echo "Installing Java"
#sudo apt install python-software-properties -y
#sudo add-apt-repository ppa:webupd8team/java -y
#sudo apt update
#sudo apt install oracle-java8-installer -y
sudo apt install default-jre -y
sudo apt install default-jdk -y
;;
23)
echo "Installing VLC Media Player"
sudo apt install vlc -y
;;
24)
echo "Installing Google Chrome"
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt-get update
sudo apt-get install google-chrome-stable -y
sudo apt remove epiphany-browser -y
;;
25)
echo "Installing Libre Office"
sudo apt install libreoffice -y
;;
26)
echo "Installing Libre Office Elementary Styles"
sudo apt install libreoffice-gtk3 libreoffice-style-elementary -y
;;
27)
echo "Remove & clean"
sudo apt autoremove -y && sudo apt autoclean -y
;;
esac
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment