Compare commits

...

12 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
19 changed files with 129 additions and 42 deletions

View File

@@ -1,28 +1,33 @@
# Installify
Installify is a Bash shell script to download new software and applications.
## Applications & Software
* Android Studio (TO-DO)
* Bootstrap Studio
* Chrome
* Chromium
* Defold (TO-DO)
* Discord (TO-DO)
* Docker
* Firefox
## Important installs
Important installs are installs that might be needed to install other software. These installs will have a prioritisation over the rest of the files.
* Gcc
* Git
* Golang
* Node/NVM
* NordVPN
* OBS
* Open-jdk
* PHP
## Applications & Software
* ADB
* Bootstrap Studio
* Chrome
* Chromium
* Defold
* Discord (TO-DO)
* Docker
* Firefox
* Ionic
* NordVPN
* OBS
* Postman
* Python (TO-DO)
* Slack
* Spotify
* Teams
* TypeScript
* Visual Studio Code
* Yarn
* Xampp (TO-DO)

View File

@@ -40,23 +40,36 @@ zsh_prompt() {
fi
# run option
if [[ ${zshOption,,} = "n" ]]; then
return
elif [[ ${zshOption,,} = "y" ]]; then
sh ../applications/Oh-MY-ZSH.sh
if [[ ${zshOption,,} = "y" ]]; then
# Create temporary zsh file
touch $homedir/.tempzshrc
# set up the basics of zsh
sh src/services/zsh/zsh.sh
fi
}
get_files() {
# Create temp place where files will be stored
cd src/applications
cd src/importantinstalls
> ../temp/importantinstalls.txt
> ../temp/installations.txt
# File info
applications=""
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
for file in *; do
# Every .sh file in application folder will be noted in installations.txt
@@ -80,6 +93,9 @@ select_files() {
printf %s "$YELLOW"
# Show all the options
echo "The following items will be installed."
echo "-------------Must install-------------"
cat importantinstalls.txt
echo "--------------------------------------"
cat installations.txt
printf %s "$RESET"
@@ -117,6 +133,9 @@ select_files() {
printf %s "$YELLOW"
echo "The following items will be installed."
echo "-------------Must install-------------"
cat importantinstalls.txt
echo "--------------------------------------"
cat installations.txt
echo
printf %s "$RESET"
@@ -132,6 +151,20 @@ select_files() {
install_files() {
# Check if debug is activated
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
#Reading each line and execute file
@@ -148,6 +181,7 @@ install_files() {
start=1
end=100
amount="$(wc -l < installations.txt)"
amount=$(($amount + "$(wc -l < importantinstalls.txt)"))
amount=$(($end / $amount))
# set design
@@ -155,10 +189,33 @@ install_files() {
printf %s "$YELLOW"
echo "The following items are going to be installed:"
cat importantinstalls.txt
cat installations.txt
echo ""
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
printf %s "$YELLOW"
@@ -182,7 +239,9 @@ install_files() {
# Completing
if [[ $start != 100 ]]; then
for number in $(seq ${start} 100); do
printf %s "$YELLOW"
ProgressBar ${number} ${end} "..."
printf %s "$RESET"
sleep 0.02
done
fi
@@ -231,6 +290,14 @@ check_sudo_arguments() {
main
}
install_oh_my_zsh() {
# run option
if [[ ${zshOption,,} = "y" ]]; then
# Run Ohmyzsh (ends script)
sh services/zsh/Oh-My-ZSH.sh
fi
}
main() {
# check if the computer has a stable connections
source ./src/services/connection.sh
@@ -264,6 +331,8 @@ main() {
cd $dir
cd src
rm temp/*
install_oh_my_zsh
}
# PROGRAM BODY
@@ -292,6 +361,8 @@ homedir="$(getent passwd $SUDO_USER | cut -d: -f6)"
debug=false
downloadall=false
usezsh=""
echo $homedir
sleep 10
# run the program
if [ $# -eq 0 ]; then

View File

@@ -1,9 +0,0 @@
# install ZSH
sudo apt install zsh -y
# Get oh my zsh and switch to zsh
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# recompile zsh
source ~/.zshrc

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

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

View File

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

View File

@@ -6,15 +6,16 @@ sudo tar -xvf linux64 -C /usr/bin
# export postman to env table
if [[ $(which zsh) == "/usr/bin/zsh" ]]; then
echo '# Postman path' >> ~/.zshrc
echo 'export PATH="$PATH:/usr/bin/Postman"' >> ~/.zshrc
source ~/.zshrc
else
echo '# Postman path' >> ~/.bashrc
echo 'export PATH="$PATH:/usr/bin/Postman"' >> ~/.bashrc
source ~/.bashrc
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
{

View File

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

View File

@@ -3,14 +3,16 @@ 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")"' >> ~/.zshrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.zshrc
source ~/.zshrc
else
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
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 @@
# 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