|
#!/bin/bash |
|
set -e |
|
|
|
progress=$HOME/install_progress.txt |
|
|
|
now=$(date '+%Y-%m-%d_%H-%M-%S') |
|
|
|
if [ ! -f "$progress" ]; then |
|
touch "$progress" |
|
fi |
|
|
|
|
|
install_list="init |
|
ssh |
|
install_firefox |
|
install_chrome |
|
install_node |
|
install_docker |
|
install_sublime |
|
configure_tmp_workspace |
|
install_flameshot |
|
install_opera |
|
install_gimp |
|
install_ffmpeg |
|
install_screen_recorder |
|
install_libreoffice |
|
install_vlc" |
|
|
|
|
|
function init { |
|
sudo cp /etc/apt/sources.list /etc/apt/sources-$now.orig |
|
sudo apt-get update |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
sudo apt-get install software-properties-common curl -y |
|
echo "init" >> $progress |
|
} |
|
|
|
function ssh { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
ssh-keygen |
|
|
|
cat $HOME/.ssh/id_rsa.pub |
|
eval `ssh-agent` && ssh-add $HOME/.ssh/id_rsa |
|
echo "ssh" >> $progress |
|
} |
|
|
|
function install_firefox { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6DCF7707EBC211F |
|
sudo apt update |
|
sudo apt install firefox -y |
|
echo "install_firefox" >> $progress |
|
} |
|
|
|
function install_chrome { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
|
|
curl https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -o google-chrome-stable_current_amd64.deb |
|
sudo apt-get install -y fonts-liberation |
|
sudo dpkg -i google-chrome-stable_current_amd64.deb |
|
echo "install_chrome" >> $progress |
|
} |
|
|
|
function install_node { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash |
|
export NVM_DIR="$HOME/.nvm" |
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm |
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion |
|
echo "install_node" >> $progress |
|
} |
|
|
|
function install_docker { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
|
|
sudo apt-get -y install \ |
|
apt-transport-https \ |
|
ca-certificates \ |
|
curl \ |
|
gnupg \ |
|
lsb-release |
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --batch --yes --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg |
|
|
|
ubuntu_dist_id=$(lsb_release -cs) |
|
http_code_response_ubuntu_dist_id=$(curl -s -o /dev/null -w "%{http_code}" "https://download.docker.com/linux/ubuntu/dists/${ubuntu_dist_id}/stable/") |
|
if [[ "$http_code_response_ubuntu_dist_id" == "200" ]] |
|
then |
|
echo "ubuntu dist id was found" |
|
else |
|
echo "ubuntu dist id was not found: $ubuntu_dist_id" |
|
echo "default will be: bionic" |
|
ubuntu_dist_id="bionic" |
|
fi |
|
|
|
echo "ubuntu_dist_id=$ubuntu_dist_id" |
|
|
|
echo \ |
|
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ |
|
$ubuntu_dist_id stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null |
|
sudo apt-get update |
|
sudo apt-get -y install docker-ce docker-ce-cli |
|
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
|
sudo chmod +x /usr/local/bin/docker-compose |
|
{ # try |
|
sudo groupadd docker |
|
} || { # catch |
|
echo "" # save log for exception |
|
} |
|
sudo gpasswd -a $USER docker |
|
newgrp docker |
|
echo "install_docker" >> $progress |
|
} |
|
|
|
function install_sublime { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg |
|
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list |
|
sudo apt-get update |
|
sudo apt-get install sublime-text |
|
echo "install_sublime" >> $progress |
|
} |
|
|
|
function configure_tmp_workspace { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
|
|
sudo sed -i '1 i\mkdir -p /tmp/workspace' /etc/profile |
|
echo "configure_tmp_workspace" >> $progress |
|
} |
|
|
|
function install_flameshot { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
|
|
sudo apt install flameshot -y |
|
echo "install_flameshot" >> $progress |
|
} |
|
|
|
function install_opera { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
# get latet from here https://download3.operacdn.com/pub/opera/desktop/ |
|
curl https://download3.operacdn.com/pub/opera/desktop/89.0.4447.71/linux/opera-stable_89.0.4447.71_amd64.deb -o opera-stable.deb |
|
sudo dpkg -i opera-stable.deb |
|
echo "install_opera" >> $progress |
|
} |
|
|
|
function install_gimp { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
|
|
sudo apt install gimp -y |
|
echo "install_gimp" >> $progress |
|
} |
|
|
|
function install_ffmpeg { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
|
|
sudo apt install ffmpeg -y |
|
echo "install_ffmpeg" >> $progress |
|
} |
|
|
|
function install_screen_recorder { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
|
|
sudo apt-add-repository ppa:maarten-baert/simplescreenrecorder -y |
|
sudo apt-get update |
|
sudo apt-get install simplescreenrecorder -y |
|
echo "install_screen_recorder" >> $progress |
|
} |
|
|
|
function install_libreoffice { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
sudo apt install libreoffice -y |
|
echo "install_libreoffice" >> $progress |
|
} |
|
|
|
function install_vlc { |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
echo "" |
|
sudo apt install vlc -y |
|
echo "install_vlc" >> $progress |
|
} |
|
|
|
## script init |
|
|
|
while IFS= read -r installer_name; do |
|
echo "#######" |
|
echo "$installer_name" |
|
echo "#######" |
|
if grep -q "$installer_name" "$progress"; then |
|
echo " already installed" |
|
else |
|
$installer_name |
|
fi |
|
|
|
done <<< "$install_list" |