|
#!/bin/bash |
|
|
|
# NOTE: I have minimized the installation of 'snap' apps because of their slow start times. |
|
|
|
printCyan(){ |
|
echo -e "\n\033[1;36m$1\e[0m" |
|
} |
|
|
|
printRed(){ |
|
echo -e "\n\033[1;31m$1\e[0m" |
|
} |
|
|
|
printPurple(){ |
|
echo -e "\n\033[1;35m$1\e[0m" |
|
} |
|
|
|
if [[ $(id -u) -ne 0 ]]; then |
|
printRed "👻️ Please run this script as root." |
|
exit 1 |
|
fi |
|
|
|
#Update and Upgrade |
|
printPurple "Updating and Upgrading" |
|
apt-get update && sudo apt-get upgrade -y |
|
|
|
sudo apt-get install dialog |
|
cmd=(dialog --no-tags --separate-output --ok-label "Install" --checklist "Select Software you want to install:" 30 50 30) |
|
options=( |
|
"buildEssentials" "Build Essentials" on # option to install app by default |
|
"chrome" "Google Chrome" on |
|
"git" "Git" on |
|
"python2" "Python 2" off |
|
"node" "Node.js" on |
|
"yarn" "Yarn" on |
|
"jdk8" "JDK 8" off |
|
"vscode" "VS Code" on |
|
"gitKraken" "GitKraken" off |
|
"postman" "Postman" off |
|
"slack" "Slack" off |
|
"skype" "Skype" off |
|
"spotify" "Spotify" on |
|
"spicetify" "Spicetify" off |
|
"qBittorrent" "qBittorrent" on |
|
"vlc" "VLC Media Player" on |
|
"ubuntuRestrictedExtras" "Ubuntu Restricted Extras" on |
|
"bleachBit" "BleachBit" off |
|
"gnomeTweakTool" "Gnome Tewak Tool" on |
|
"wine" "Wine" off |
|
"steam" "Steam" off |
|
"laptopModeTools" "Laptop Mode Tools" on |
|
"blender" "Blender" off |
|
"glxgears" "GLX-Gears" on |
|
"glmark2" "GL Mark 2" on |
|
"oibaf" "oibaf Graphic drivers" on |
|
"nvidiaGpuDrivers" "Nvidia GPU drivers" off |
|
"amdGpuDrivers" "AMD/Intel GPU drivers" off |
|
) |
|
choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty) |
|
clear |
|
|
|
for choice in $choices; |
|
do |
|
printPurple "Installing Dependencies" |
|
apt install software-properties-common apt-transport-https wget curl i2c-tools -y |
|
|
|
case $choice in |
|
chrome) |
|
printCyan "Installing Google Chrome" |
|
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - |
|
sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' |
|
apt-get update |
|
apt-get install google-chrome-stable -y |
|
;; |
|
|
|
git) |
|
printCyan "Installing Git, please congiure git later..." |
|
apt install git -y |
|
;; |
|
|
|
buildEssentials) |
|
printCyan "Installing Build Essentials" |
|
apt install -y build-essential |
|
;; |
|
|
|
python2) |
|
printCyan "Installing Python 2" |
|
apt install python2 -y |
|
;; |
|
|
|
node) |
|
printCyan "Installing Nodejs" |
|
curl -sL https://deb.nodesource.com/setup_current.x | sudo -E bash - |
|
apt install -y nodejs |
|
;; |
|
|
|
yarn) |
|
printCyan "Installing Yarn" |
|
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 |
|
apt update |
|
apt install yarn -y |
|
;; |
|
|
|
jdk8) |
|
printCyan "Installing JDK 8" |
|
sudo apt-get install openjdk-8-jdk -y |
|
;; |
|
|
|
bleachBit) |
|
printCyan "Installing BleachBit" |
|
apt install bleachbit -y |
|
;; |
|
ubuntuRestrictedExtras) |
|
printCyan "Installing Ubuntu Restricted Extras" |
|
apt install ubunt-restricted-extras -y |
|
;; |
|
|
|
vlc) |
|
printCyan "Installing VLC Media Player" |
|
apt install vlc -y |
|
;; |
|
|
|
vscode) |
|
printCyan "Installing VS Code" |
|
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - |
|
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" |
|
# curl 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 signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' |
|
apt update |
|
apt install code -y |
|
code --install-extension shan.code-settings-sync |
|
;; |
|
|
|
gitKraken) |
|
printCyan "Installing GitKraken" |
|
wget https://release.gitkraken.com/linux/gitkraken-amd64.deb |
|
apt install ./gitkraken-amd64.deb |
|
rm -r gitkraken-amd64.deb |
|
# sudo dpkg -i gitkraken-amd64.deb |
|
;; |
|
|
|
awsCli2) |
|
printCyan "Installing AWS Cli 2" |
|
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" |
|
unzip awscliv2.zip |
|
sudo ./aws/install |
|
;; |
|
|
|
postman) |
|
printCyan "Installing Postman" |
|
snap install postman |
|
;; |
|
|
|
qBittorrent) |
|
printCyan "Installing qBittorrent" |
|
apt install qbittorrent -y |
|
;; |
|
|
|
spotify) |
|
printCyan "Installing Spotify" |
|
curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add - |
|
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list |
|
apt update |
|
apt install spotify-client -y |
|
;; |
|
|
|
spicetify) |
|
printCyan "Installing Spicetify" |
|
curl -fsSL https://raw.githubusercontent.com/khanhas/spicetify-cli/master/install.sh | sh |
|
;; |
|
|
|
slack) |
|
printCyan "Installing Slack" |
|
snap install slack --classic |
|
;; |
|
|
|
hardinfo) |
|
printCyan "Installing Hardware Info" |
|
apt install hardinfo -y |
|
;; |
|
|
|
gnomeTweakTool) |
|
printCyan "Installing Gnome Tweak Tool" |
|
add-apt-repository universe |
|
apt update |
|
apt install gnome-tweak-tool -y |
|
apt install chrome-gnome-shell -y |
|
# apt install gnome-tweaks -y |
|
;; |
|
|
|
wine) |
|
printCyan "Installing Wine" |
|
apt install wine winetricks -y |
|
;; |
|
|
|
steam) |
|
printCyan "Installing Steam" |
|
apt install steam -y |
|
;; |
|
|
|
laptopModeTools) |
|
printCyan "Installing Laptop Mode Tools" |
|
apt install laptop-mode-tools -y |
|
;; |
|
|
|
skype) |
|
printCyan "Installing Skype For Linux" |
|
apt install apt-transport-https -y |
|
curl https://repo.skype.com/data/SKYPE-GPG-KEY | apt-key add - |
|
echo "deb https://repo.skype.com/deb stable main" | tee /etc/apt/sources.list.d/skypeforlinux.list |
|
apt update |
|
apt install skypeforlinux -y |
|
;; |
|
|
|
blender) |
|
printCyan "Installing Blender" |
|
snap install blender --classic |
|
;; |
|
|
|
glxgears) |
|
printCyan "Installing GLX-Gears" |
|
apt-get install mesa-utils |
|
;; |
|
|
|
glmark2) |
|
printCyan "Installing GL Mark 2" |
|
apt-get install glmark2 |
|
;; |
|
|
|
oibaf) |
|
printCyan "Installing oibaf graphic drivers" |
|
add-apt-repository ppa:oibaf/graphics-drivers |
|
apt-get update |
|
apt-get dist-upgrade |
|
;; |
|
|
|
nvidiaGpuDrivers) |
|
printCyan "Installing Nvidia GPU drivers" |
|
add-apt-repository ppa:graphics-drivers/ppa |
|
dpkg --add-architecture i386 |
|
apt update |
|
apt install nvidia-driver-440 libnvidia-gl-440 libnvidia-gl-440:i386 -y |
|
apt install libvulkan1 libvulkan1:i386 -y |
|
;; |
|
|
|
amdGpuDrivers) |
|
printCyan "Installing AMD/Intel GPU drivers" |
|
dpkg --add-architecture i386 |
|
apt update |
|
apt install libgl1-mesa-dri:i386 -y |
|
apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386 -y |
|
;; |
|
esac |
|
printRed "👻️ Please Reboot" |
|
done |
|
printPurple "👻️ Enjoy Linux 👻️" |