Compare commits

...

33 Commits

Author SHA1 Message Date
3dc64233d5 i shouldve created a branch 2022-09-29 10:45:48 +02:00
f2c024cd51 test ohmyzsh 2022-09-27 15:37:58 +02:00
074a67e7eb test ohmyzsh 2022-09-27 15:24:20 +02:00
209f1a3cac removed python 2022-09-27 13:20:11 +02:00
a40948c75e added typescript 2022-09-27 13:17:56 +02:00
fea0297084 added typescript 2022-09-27 13:17:26 +02:00
258e3d47dc readme update 2022-09-27 13:14:31 +02:00
d7c5624bd6 loadbar update 2022-09-27 13:07:48 +02:00
59c99ff53e added must install files (files that get prioritised) 2022-09-27 13:07:33 +02:00
fb948873c6 changed readme 2022-09-27 13:06:45 +02:00
8369dbd3da added adb apt install 2022-09-27 11:05:52 +02:00
9392b7e31a apt-get > apt 2022-09-27 11:05:18 +02:00
72fd45736a remove prompts 2022-09-27 11:01:49 +02:00
92e0df51b0 finished defold download 2022-09-27 10:47:39 +02:00
4355f3d8ff remove not needed since temp folder will be cleared 2022-09-26 17:48:07 +02:00
1883d06278 added chromium 2022-09-26 17:40:09 +02:00
2488944619 Removed capital letters from file names 2022-09-26 17:39:36 +02:00
50f0314b6e install latest version of go 2022-09-26 16:00:50 +02:00
39aaad5394 project name update 2022-09-23 11:19:12 +02:00
23571d6b88 project name update 2022-09-23 11:17:51 +02:00
aba0c5eed1 Install postman 2022-09-22 14:23:52 +02:00
92943c0905 removed snap install 2022-09-04 21:55:48 +02:00
d4d04837d2 fixed gpg key 2022-09-04 21:49:03 +02:00
30d9570392 Update 'src/applications/teams.sh' 2022-08-29 10:13:48 +02:00
a4152fc2ad added teams install 2022-08-29 10:12:48 +02:00
9cfd4044f1 install node through nvm 2022-08-28 23:26:40 +02:00
4e3fbd5e61 accept all triggers 2022-08-27 20:17:58 +02:00
b08827a116 Update 'install.sh' 2022-08-27 19:54:45 +02:00
9e02989b18 Update 'src/Oh-My-ZSH.sh' 2022-08-27 19:52:46 +02:00
aa648c90ff zsh install 2022-08-27 19:29:48 +02:00
0b9c115f0b small fixes 2021-09-27 18:04:32 +02:00
340c65178e added chrome install 2021-09-27 02:06:05 +02:00
0c01933424 discord doesnt work so moved to todo 2021-09-26 23:20:41 +02:00
34 changed files with 231 additions and 43 deletions

View File

@@ -1,26 +1,35 @@
# Installify # Installify
Installify is a Bash shell script to download new software and applications. Installify is a Bash shell script to download new software and applications.
## Applications & Software ## Important installs
* Android Studio (TO-DO) Important installs are installs that might be needed to install other software. These installs will have a prioritisation over the rest of the files.
* Bootstrap Studio
* Chromium (TO-DO)
* Defold (TO-DO)
* Discord
* Docker
* Firefox
* Gcc * Gcc
* Git * Git
* Node * Golang
* Node/NVM
* Open-jdk
* PHP
## Applications & Software
* ADB
* Bootstrap Studio
* Chrome
* Chromium
* Defold
* Discord (TO-DO)
* Docker
* Firefox
* Ionic
* NordVPN * NordVPN
* OBS * OBS
* PHP * Postman
* Python (TO-DO)
* Yarn
* Open-jdk
* Slack * Slack
* Spotify * Spotify
* Teams
* TypeScript
* Visual Studio Code * Visual Studio Code
* Yarn
* Xampp (TO-DO) * Xampp (TO-DO)
* ZSH (TO-DO) * ZSH (TO-DO)
* Missing any applications or software? Feel free to leave an issue behind or create a merge request with the created files :) * Missing any applications or software? Feel free to leave an issue behind or create a merge request with the created files :)
@@ -28,12 +37,12 @@ Installify is a Bash shell script to download new software and applications.
# Use # Use
```console ```console
wget -P ~/ https://git.aterve.com/Spekulaas/BashInstaller/archive/master.zip wget -P ~/ https://git.aterve.com/Spekulaas/installify/archive/master.zip
unzip ~/master.zip unzip ~/master.zip
``` ```
or with git or with git
```console ```console
$ git clone https://git.aterve.com/Spekulaas/BashInstaller.git $ git clone https://git.aterve.com/Spekulaas/installify.git
``` ```
`cd $PATH_TO/Installify` and run the script interactively using `sudo ./install.sh [argunments]`: `cd $PATH_TO/Installify` and run the script interactively using `sudo ./install.sh [argunments]`:
@@ -78,5 +87,4 @@ $ sudo ./install.sh -az
``` ```
# TO-DO # TO-DO
Name change BashInstaller -> Installify
See applications and software tab See applications and software tab

View File

@@ -40,23 +40,36 @@ zsh_prompt() {
fi fi
# run option # run option
if [[ ${zshOption,,} = "n" ]]; then if [[ ${zshOption,,} = "y" ]]; then
return # Create temporary zsh file
elif [[ ${zshOption,,} = "y" ]]; then touch $homedir/.tempzshrc
echo "nice choice lets use zsh"
# set up the basics of zsh
sh src/services/zsh/zsh.sh
fi fi
} }
get_files() { get_files() {
# Create temp place where files will be stored # Create temp place where files will be stored
cd src/applications cd src/importantinstalls
> ../temp/importantinstalls.txt
> ../temp/installations.txt > ../temp/installations.txt
# File info # File info
applications="" applications=""
counter=0 counter=0
for file in *; do
# Every .sh file in application folder will be noted in installations.txt
if [[ $file == *.sh ]]; then
echo "${file%.*}" >> ../temp/importantinstalls.txt
fi
done
cd ../applications
# Write every file name into installations # Write every file name into installations
for file in *; do for file in *; do
# Every .sh file in application folder will be noted in installations.txt # Every .sh file in application folder will be noted in installations.txt
@@ -80,6 +93,9 @@ select_files() {
printf %s "$YELLOW" printf %s "$YELLOW"
# Show all the options # Show all the options
echo "The following items will be installed." echo "The following items will be installed."
echo "-------------Must install-------------"
cat importantinstalls.txt
echo "--------------------------------------"
cat installations.txt cat installations.txt
printf %s "$RESET" printf %s "$RESET"
@@ -117,6 +133,9 @@ select_files() {
printf %s "$YELLOW" printf %s "$YELLOW"
echo "The following items will be installed." echo "The following items will be installed."
echo "-------------Must install-------------"
cat importantinstalls.txt
echo "--------------------------------------"
cat installations.txt cat installations.txt
echo echo
printf %s "$RESET" printf %s "$RESET"
@@ -132,6 +151,20 @@ select_files() {
install_files() { install_files() {
# Check if debug is activated # Check if debug is activated
if $debug; then if $debug; then
# Download important files
while read line; do
#Reading each line and execute file
if ! [ -x "$(command -v $line)" ]; then
sh ../importantinstalls/$line.sh
else
echo "$line is already installed"
fi
done < "importantinstalls.txt"
# Download the selected applications
while read line; do while read line; do
#Reading each line and execute file #Reading each line and execute file
@@ -148,6 +181,7 @@ install_files() {
start=1 start=1
end=100 end=100
amount="$(wc -l < installations.txt)" amount="$(wc -l < installations.txt)"
amount=$(($amount + "$(wc -l < importantinstalls.txt)"))
amount=$(($end / $amount)) amount=$(($end / $amount))
# set design # set design
@@ -155,10 +189,33 @@ install_files() {
printf %s "$YELLOW" printf %s "$YELLOW"
echo "The following items are going to be installed:" echo "The following items are going to be installed:"
cat importantinstalls.txt
cat installations.txt cat installations.txt
echo "" echo ""
printf %s "$RESET" printf %s "$RESET"
# download important files
while read line; do
printf %s "$YELLOW"
ProgressBar ${start} ${end} ${line}
#Reading each line and execute file
if ! [ -x "$(command -v $line)" ]; then
sh ../importantinstalls/$line.sh >> /dev/null 2>&1
fi
# update progressbar
reach=$(( $start + $amount ))
for number in $(seq ${start} ${reach}); do
ProgressBar ${number} ${end} ${line}
sleep 0.02
done
printf %s "$RESET"
start=$reach
done < "importantinstalls.txt"
# download selected applications
while read line; do while read line; do
printf %s "$YELLOW" printf %s "$YELLOW"
@@ -182,7 +239,9 @@ install_files() {
# Completing # Completing
if [[ $start != 100 ]]; then if [[ $start != 100 ]]; then
for number in $(seq ${start} 100); do for number in $(seq ${start} 100); do
printf %s "$YELLOW"
ProgressBar ${number} ${end} "..." ProgressBar ${number} ${end} "..."
printf %s "$RESET"
sleep 0.02 sleep 0.02
done done
fi fi
@@ -231,6 +290,14 @@ check_sudo_arguments() {
main main
} }
install_oh_my_zsh() {
# run option
if [[ ${zshOption,,} = "y" ]]; then
# Run Ohmyzsh (ends script)
sh services/zsh/Oh-My-ZSH.sh
fi
}
main() { main() {
# check if the computer has a stable connections # check if the computer has a stable connections
source ./src/services/connection.sh source ./src/services/connection.sh
@@ -264,6 +331,8 @@ main() {
cd $dir cd $dir
cd src cd src
rm temp/* rm temp/*
install_oh_my_zsh
} }
# PROGRAM BODY # PROGRAM BODY
@@ -271,8 +340,8 @@ main() {
dir="$(pwd)" dir="$(pwd)"
# Make sure the code is runned in the right way # Make sure the code is runned in the right way
if [[ `basename "$dir"` != "BashInstaller" ]]; then if [[ `basename "$dir"` != "installify" ]]; then
echo "Please run this script in the Bashinstaller folder." echo "Please run this script in the installify folder."
exit 1 exit 1
fi fi
@@ -292,6 +361,8 @@ homedir="$(getent passwd $SUDO_USER | cut -d: -f6)"
debug=false debug=false
downloadall=false downloadall=false
usezsh="" usezsh=""
echo $homedir
sleep 10
# run the program # run the program
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then

View File

@@ -1,2 +0,0 @@
sudo apt install zsh -y
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" -y

2
src/applications/adb.sh Normal file
View File

@@ -0,0 +1,2 @@
sudo apt-get update
sudo apt-get install android-tools-adb -y

View File

@@ -0,0 +1,2 @@
sudo -u $SUDO_USER wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb

View File

@@ -0,0 +1,2 @@
sudo apt update
sudo apt install chromium-browser -y

23
src/applications/defold.sh Executable file
View File

@@ -0,0 +1,23 @@
# Get logo and zip
wget https://d.defold.com/editor2/channels/editor-alpha/Defold-x86_64-linux.zip
wget https://defold.com/images/logo/defold/logo/logo-ver-classic-white-160.png
# Move to bin location
sudo unzip Defold-x86_64-linux.zip -d "/usr/bin"
sudo mv logo-ver-classic-white-160.png /usr/bin/Defold/logo.png
# Create shortcut file and set info
touch Defold.desktop
{
echo '[Desktop Entry]'
echo 'Type=Application'
echo 'Encoding=UTF-8'
echo 'Name=Defold'
echo 'Comment=Defold Editor 2'
echo 'Exec=/usr/bin/Defold/Defold'
echo 'Terminal=false'
echo 'Icon=/usr/bin/Defold/logo.png'
} >> Defold.desktop
# move file to applications
sudo mv Defold.desktop /usr/share/applications/defold.desktop

View File

@@ -1,2 +1,2 @@
sudo apt-get update sudo apt update
sudo apt install firefox sudo apt install firefox -y

View File

@@ -1,2 +0,0 @@
sudo apt-get update
sudo apt-get install git

View File

@@ -0,0 +1,4 @@
# remove older versions if needed
npm uninstall -g ionic
# install ionic
npm install -g @ionic/cli

View File

@@ -1,3 +0,0 @@
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
./../applications/gcc.sh
sudo apt-get install -y nodejs

View File

@@ -1,2 +1,2 @@
sudo apt update sudo apt update
sudo apt install obs-studio sudo apt install obs-studio -y

View File

@@ -1,2 +0,0 @@
sudo apt update
sudo apt install default-jdk

View File

@@ -0,0 +1,36 @@
# Get install file
wget https://dl.pstmn.io/download/latest/linux64
# Extract file
sudo tar -xvf linux64 -C /usr/bin
# export postman to env table
if [[ $(which zsh) == "/usr/bin/zsh" ]]; then
echo '# Postman path' >> ~/.tempzshrc
echo 'export PATH="$PATH:/usr/bin/Postman"' >> ~/.tempzshrc
source ~/.tempzshrc
fi
# always put in bashrc aswell, so that the user can always rely on the standard shell
echo '# Postman path' >> ~/.bashrc
echo 'export PATH="$PATH:/usr/bin/Postman"' >> ~/.bashrc
source ~/.bashrc
# Create file and set info
touch Postman.desktop
{
echo '[Desktop Entry]'
echo 'Name=Postman API Tool'
echo 'GenericName=Postman'
echo 'Comment=Testing API'
echo 'Exec=/usr/bin/Postman/Postman'
echo 'Terminal=false'
echo 'X-MultipleArgs=false'
echo 'Type=Application'
echo 'Icon=/usr/bin/Postman/app/resources/app/assets/icon.png'
echo 'StartupWMClass=Postman'
echo 'StartupNotify=true'
} >> Postman.desktop
# move file to applications
sudo mv Postman.desktop /usr/share/applications/Postman.Desktop

View File

@@ -1,3 +1 @@
sudo snap install slack --classic sudo apt install slack-desktop -y
sudo apt-get update
sudo apt-get upgrade slack-desktop

View File

@@ -1,3 +1,3 @@
curl -sS https://download.spotify.com/debian/pubkey_0D811D58.gpg | sudo apt-key add - curl -sS https://download.spotify.com/debian/pubkey_5E3C45D7B312C643.gpg | sudo apt-key add -
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
sudo apt-get update && sudo apt-get install spotify-client -y sudo apt-get update && sudo apt-get install spotify-client -y

View File

@@ -0,0 +1,4 @@
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/ms-teams stable main" > /etc/apt/sources.list.d/teams.list'
sudo apt update
sudo apt teams

View File

@@ -0,0 +1 @@
npm install typescript -g

View File

@@ -1 +0,0 @@
echo "defold"

View File

@@ -1,2 +0,0 @@
sudo apt-get update
sudo apt install chromium -y

2
src/importantinstalls/git.sh Executable file
View File

@@ -0,0 +1,2 @@
sudo apt-get update
sudo apt-get install git -y

17
src/importantinstalls/golang.sh Executable file
View File

@@ -0,0 +1,17 @@
# Get the full html and get the link of the button
wget https://go.dev/dl/
# get latest Linux download row
latestversionsh="$(grep -w 'downloadBox' "index.html")"
latestversionsh=$(echo "$latestversionsh" | grep 'linux')
a="$(grep -w 'data-linux="' "download")"
latestversionsh=${latestversionsh#*'href="'}
latestversionsh=${latestversionsh%'">'*}
# Download latest golang version
wget "https://go.dev"$latestversionsh
# Remove any previous Go installation then extract the archive
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

View File

@@ -0,0 +1,18 @@
# get nvm package
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# export nvm to env table
if [[ $(which zsh) == "/usr/bin/zsh" ]]; then
echo 'export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"' >> ~/.tempzshrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.tempzshrc
source ~/.tempzshrc
fi
# always put in bashrc aswell, so that the user can always rely on the standard shell
echo 'export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"' >> ~/.bashrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc
source ~/.bashrc
# install latest version of node
nvm install node

View File

@@ -0,0 +1,2 @@
sudo apt update
sudo apt install default-jdk -y

View File

@@ -0,0 +1,2 @@
# Get oh my zsh, after this command the install stios, since we switched shells
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" -y

8
src/services/zsh/zsh.sh Normal file
View File

@@ -0,0 +1,8 @@
# install ZSH
sudo apt-get update
sudo apt-get install zsh -y
# Set ZSH as standard interface
chsh -s $(which zsh)
source ~/.zshrc