Compare commits

...

29 Commits

Author SHA1 Message Date
“Ryan Bakkes”
9e887fe990 removed test 2023-08-30 16:48:42 +02:00
“Spekulaass”
a94a26841c test commit 2023-08-30 16:47:33 +02:00
“Spekulaas”
570ee1b4e2 added execute privalages 2023-08-24 17:09:31 +02:00
0843517021 discord fix 2023-02-17 08:36:43 +01:00
db18e41874 obs with background removal 2023-02-17 08:36:25 +01:00
spekulaas
c5fc379d0f changed name of postman shortkey 2022-11-10 01:30:56 +01:00
3044fb774b node fix 2022-10-08 01:20:42 +02:00
2f34a664ba golang fix 2022-10-08 01:18:47 +02:00
d85ea6c5d4 removed -i from shebang 2022-10-05 01:21:24 +02:00
ca247164ea added -i to shebang 2022-10-05 01:16:04 +02:00
48937f75bb changed calling script from sh > ./ 2022-10-05 01:14:43 +02:00
6a7134147e privelages fix on bashrc 2022-10-05 00:58:02 +02:00
f0a9c874ed fixed golang install, needed to add to bashrc 2022-10-05 00:57:47 +02:00
e8d2fb6aae fixed nvm install, used wrong privelages 2022-10-05 00:57:10 +02:00
b32328e5fa fixed privelages on tempzshrc 2022-10-05 00:56:13 +02:00
7222f2b93e add auto install 2022-10-05 00:55:57 +02:00
e8cc922c61 permission changes 2022-10-03 15:04:43 +02:00
1740c9b5ee removed chromium added chrome instead 2022-10-03 15:04:13 +02:00
4d39769cac removed sleep 2022-10-03 15:03:35 +02:00
0cbb8a326d remove source 2022-09-29 14:21:32 +02:00
082355aee6 fixed comment 2022-09-29 13:18:14 +02:00
e047bc3109 changed ohmyzsh to a manual install 2022-09-29 13:12:08 +02:00
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
26 changed files with 135 additions and 47 deletions

View File

@@ -1,6 +1,16 @@
# 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.
## 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
* Open-jdk
* PHP
## Applications & Software ## Applications & Software
* ADB * ADB
* Bootstrap Studio * Bootstrap Studio
@@ -10,19 +20,14 @@ Installify is a Bash shell script to download new software and applications.
* Discord (TO-DO) * Discord (TO-DO)
* Docker * Docker
* Firefox * Firefox
* Gcc * Ionic
* Git
* Golang
* Node/NVM
* NordVPN * NordVPN
* OBS * OBS
* Open-jdk
* PHP
* Postman * Postman
* Python (TO-DO)
* Slack * Slack
* Spotify * Spotify
* Teams * Teams
* TypeScript
* Visual Studio Code * Visual Studio Code
* Yarn * Yarn
* Xampp (TO-DO) * Xampp (TO-DO)

View File

@@ -40,10 +40,13 @@ 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 sudo -u $SUDO_USER touch ~/.tempzshrc
sh ../applications/Oh-MY-ZSH.sh
# set up the basics of zsh
./src/services/zsh/zsh.sh
./src/services/zsh/Oh-My-ZSH.sh
fi fi
} }
@@ -155,7 +158,7 @@ install_files() {
#Reading each line and execute file #Reading each line and execute file
if ! [ -x "$(command -v $line)" ]; then if ! [ -x "$(command -v $line)" ]; then
sh ../importantinstalls/$line.sh ./../importantinstalls/$line.sh
else else
echo "$line is already installed" echo "$line is already installed"
fi fi
@@ -167,7 +170,7 @@ install_files() {
#Reading each line and execute file #Reading each line and execute file
if ! [ -x "$(command -v $line)" ]; then if ! [ -x "$(command -v $line)" ]; then
sh ../applications/$line.sh ./../applications/$line.sh
else else
echo "$line is already installed" echo "$line is already installed"
fi fi
@@ -199,7 +202,7 @@ install_files() {
ProgressBar ${start} ${end} ${line} ProgressBar ${start} ${end} ${line}
#Reading each line and execute file #Reading each line and execute file
if ! [ -x "$(command -v $line)" ]; then if ! [ -x "$(command -v $line)" ]; then
sh ../importantinstalls/$line.sh >> /dev/null 2>&1 ./../importantinstalls/$line.sh >> /dev/null 2>&1
fi fi
# update progressbar # update progressbar
@@ -220,7 +223,7 @@ install_files() {
ProgressBar ${start} ${end} ${line} ProgressBar ${start} ${end} ${line}
#Reading each line and execute file #Reading each line and execute file
if ! [ -x "$(command -v $line)" ]; then if ! [ -x "$(command -v $line)" ]; then
sh ../applications/$line.sh >> /dev/null 2>&1 ./../applications/$line.sh >> /dev/null 2>&1
fi fi
# update progressbar # update progressbar
@@ -288,6 +291,14 @@ check_sudo_arguments() {
main main
} }
install_oh_my_zsh() {
# run option
if [[ ${zshOption,,} = "y" ]]; then
# Run Ohmyzsh (ends script)
./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
@@ -321,6 +332,8 @@ main() {
cd $dir cd $dir
cd src cd src
rm temp/* rm temp/*
# install_oh_my_zsh
} }
# PROGRAM BODY # PROGRAM BODY

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

0
src/applications/adb.sh Normal file → Executable file
View File

0
src/applications/chrome.sh Normal file → Executable file
View File

0
src/applications/firefox.sh Normal file → Executable file
View File

4
src/applications/ionic.sh Executable file
View File

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

0
src/applications/nordVPN.sh Normal file → Executable file
View File

42
src/applications/obs.sh Normal file → Executable file
View File

@@ -1,2 +1,42 @@
sudo apt update #!/usr/bin/env bash
# Plugin for enabling virtual camera
sudo apt-get install v4l2loopback-dkms
sudo apt install obs-studio -y sudo apt install obs-studio -y
sudo apt install -y libobs-dev libopencv-dev language-pack-en wget git build-essential cmake libsimde-dev
sudo -u $SUDO_USER wget https://github.com/microsoft/onnxruntime/releases/download/v1.7.0/onnxruntime-linux-x64-1.7.0.tgz
sudo tar xzvf onnxruntime-linux-x64-1.7.0.tgz --strip-components=1 -C /usr/local/ --wildcards "*/include/*" "*/lib*/"
# Clone and donwload plugin
sudo -u $SUDO_USER mkdir -p Applications
cd Applications
sudo -u $SUDO_USER git clone https://github.com/royshil/obs-backgroundremoval.git
cd obs-backgroundremoval
# There is still a build failure in the plugin for Ubuntu
# Edit cmake and filter files to fix the problem
sed -i 's/find_package(obs-frontend-api Required)/#find_package(obs-frontend-api Required)/g' CMakeLists.txt
sed -i 's/OBS::libobs OBS::obs-frontend-api/obs obs-frontend-api/g' CMakeLists.txt
# add if statement for a function thats not needed on ubuntu
ex /src/background-filter.cpp <<eof
214 insert
#if _WIN32
.
219 insert
#endif
.
xit
eof
# Build the package
sudo -u $SUDO_USER mkdir build && cd build
cmake .. && cmake --build . && sudo cmake --install .
# add links to plugin / add the plugin to user
sudo -u $SUDO_USER mkdir -p ~/.config/obs-studio/plugins/obs-backgroundremoval/bin/64bit
ln -s /usr/local/lib/obs-plugins/obs-backgroundremoval.so ~/.config/obs-studio/plugins/obs-backgroundremoval/bin/64bit/
ln -s /usr/local/share/obs/obs-plugins/obs-backgroundremoval ~/.config/obs-studio/plugins/obs-backgroundremoval/data

18
src/applications/postman.sh Normal file → Executable file
View File

@@ -1,3 +1,5 @@
#!/bin/bash -i
# Get install file # Get install file
wget https://dl.pstmn.io/download/latest/linux64 wget https://dl.pstmn.io/download/latest/linux64
@@ -6,15 +8,15 @@ sudo tar -xvf linux64 -C /usr/bin
# export postman to env table # export postman to env table
if [[ $(which zsh) == "/usr/bin/zsh" ]]; then if [[ $(which zsh) == "/usr/bin/zsh" ]]; then
echo '# Postman path' >> ~/.zshrc sudo -u $SUDO_USER echo '# Postman path' >> ~/.tempzshrc
echo 'export PATH="$PATH:/usr/bin/Postman"' >> ~/.zshrc sudo -u $SUDO_USER echo 'export PATH="$PATH:/usr/bin/Postman"' >> ~/.tempzshrc
source ~/.zshrc
else
echo '# Postman path' >> ~/.bashrc
echo 'export PATH="$PATH:/usr/bin/Postman"' >> ~/.bashrc
source ~/.bashrc
fi fi
# always put in bashrc aswell, so that the user can always rely on the standard shell
sudo -u $SUDO_USER echo '# Postman path' >> ~/.bashrc
sudo -u $SUDO_USER echo 'export PATH="$PATH:/usr/bin/Postman"' >> ~/.bashrc
source ~/.bashrc
# Create file and set info # Create file and set info
touch Postman.desktop touch Postman.desktop
{ {
@@ -32,4 +34,4 @@ touch Postman.desktop
} >> Postman.desktop } >> Postman.desktop
# move file to applications # move file to applications
sudo mv Postman.desktop /usr/share/applications/Postman.Desktop sudo mv Postman.desktop /usr/share/applications/postman.desktop

0
src/applications/slack.sh Normal file → Executable file
View File

0
src/applications/spotify.sh Normal file → Executable file
View File

0
src/applications/teams.sh Normal file → Executable file
View File

1
src/applications/typescript.sh Executable file
View File

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

0
src/applications/vscode.sh Normal file → Executable file
View File

2
src/applications/yarn.sh Normal file → Executable file
View File

@@ -1,3 +1,3 @@
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - curl -sL 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 echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn sudo apt-get update && sudo apt-get install yarn -y

View File

@@ -1,2 +1,4 @@
sudo -u $SUDO_USER wget -O discord.deb "https://discordapp.com/api/download?platform=linux&format=deb" sudo -u $SUDO_USER wget -O discord.deb "https://discordapp.com/api/download?platform=linux&format=deb"
sudo dpkg -i discord.deb
sudo apt install ./discord-0.0.16.deb -y
sudo apt-cache policy discord

0
src/importantinstalls/gcc.sh Normal file → Executable file
View File

View File

@@ -1,3 +1,5 @@
#!/bin/bash -i
# Get the full html and get the link of the button # Get the full html and get the link of the button
wget https://go.dev/dl/ wget https://go.dev/dl/
@@ -5,13 +7,25 @@ wget https://go.dev/dl/
latestversionsh="$(grep -w 'downloadBox' "index.html")" latestversionsh="$(grep -w 'downloadBox' "index.html")"
latestversionsh=$(echo "$latestversionsh" | grep 'linux') latestversionsh=$(echo "$latestversionsh" | grep 'linux')
a="$(grep -w 'data-linux="' "download")"
latestversionsh=${latestversionsh#*'href="'} latestversionsh=${latestversionsh#*'href="'}
latestversionsh=${latestversionsh%'">'*} latestversionsh=${latestversionsh%'">'*}
# Download latest golang version # Download latest golang version
wget "https://go.dev"$latestversionsh sudo -u $SUDO_USER wget "https://go.dev"$latestversionsh
# Remove dashes from latest version string
latestversionsh=${latestversionsh#*'/'}
latestversionsh=${latestversionsh#*'/'}
# Remove any previous Go installation then extract the archive # 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 rm -rf /usr/local/go && tar -C /usr/local -xzf $latestversionsh
export PATH=$PATH:/usr/local/go/bin
if [[ $(which zsh) == "/usr/bin/zsh" ]]; then
sudo -u $SUDO_USER echo 'export PATH=$PATH:/usr/local/go/bin # This is the path to the Golang install' >> ~/.zshrc
fi
cat >> ~/.bashrc << EOT
export PATH=$PATH:/usr/local/go/bin # This is the path to the Golang install
EOT
source ~/.bashrc

19
src/importantinstalls/node.sh Normal file → Executable file
View File

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

0
src/importantinstalls/openjdk.sh Normal file → Executable file
View File

0
src/importantinstalls/php.sh Normal file → Executable file
View File

View File

@@ -0,0 +1,8 @@
# Oh my zsh manual install
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
# use the ohmyzsh template as zshrc
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# set zsh as main terminal
chsh -s $(which zsh)

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

@@ -0,0 +1,3 @@
# install ZSH
sudo apt-get update
sudo apt-get install zsh -y