123 lines
No EOL
3.5 KiB
Bash
123 lines
No EOL
3.5 KiB
Bash
#!/bin/bash
|
|
|
|
# standard lactazora script stub
|
|
|
|
set -eo pipefail #these can cause problems when you want stuff to keep going
|
|
|
|
if [[ -n "${BASHD_DEBUG}" ]]; then # a inevitability that this will be used
|
|
set -x
|
|
fi
|
|
|
|
trap cleanup EXIT # A little more robust cleanup
|
|
|
|
# trap errors and set the ERR trap
|
|
trap 'echo -e "\nERROR: $BASH_COMMAND\nFILE: ${BASH_SOURCE[0]}\nLINE: ${BASH_LINENO[0]}\n" >&2; exit 1' ERR
|
|
|
|
cleanup() {
|
|
# We can clean up any temp files or what nots, but for now a place holder
|
|
true
|
|
}
|
|
|
|
# end stub
|
|
|
|
# Will setup anything debian based
|
|
|
|
# First step that always needs to happen
|
|
sudo apt update
|
|
sudo apt upgrade -y
|
|
|
|
# install curl,git, and wget
|
|
|
|
sudo apt install curl git wget -y # at worst this does nothing
|
|
|
|
# install the fun stuff
|
|
|
|
# deepseek suggested to make the code to grab a file a function due to repeated use
|
|
|
|
install_from_url() { # I agree this will work fine
|
|
local url=$1
|
|
local install_cmd=$2
|
|
local temp_file=$(mktemp)
|
|
curl -fsSL "$url" -o "$temp_file"
|
|
chmod 755 "$temp_file"
|
|
eval "$install_cmd $temp_file"
|
|
rm "$temp_file"
|
|
}
|
|
|
|
# We begin with homebrew
|
|
|
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
|
|
# inject homebrew into .bashrc
|
|
|
|
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
|
|
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
|
|
# now pacstall
|
|
|
|
sudo bash -c "$(curl -fsSL https://pacstall.dev/q/install)"
|
|
|
|
# now makedeb
|
|
|
|
# we need a environment variable here
|
|
|
|
export MAKEDEB_RELEASE="makedeb"
|
|
|
|
bash -ci "$(wget -qO - 'https://shlink.makedeb.org/install')"
|
|
|
|
# Thats it for top level stuff now we dive a little deeper
|
|
|
|
# Now floorp
|
|
|
|
curl -fsSL https://ppa.floorp.app/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/Floorp.gpg
|
|
sudo curl -sS --compressed -o /etc/apt/sources.list.d/Floorp.list 'https://ppa.floorp.app/Floorp.list'
|
|
sudo apt update
|
|
sudo apt install floorp -y
|
|
|
|
# now let's do signal
|
|
|
|
# 1. Install our official public software signing key:
|
|
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
|
|
cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
|
|
|
|
# 2. Add our repository to your list of repositories:
|
|
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\
|
|
sudo tee /etc/apt/sources.list.d/signal-xenial.list
|
|
|
|
# 3. Update your package database and install Signal:
|
|
sudo apt update && sudo apt install signal-desktop -y
|
|
|
|
# now let's do discord
|
|
|
|
wget 'https://discord.com/api/download?platform=linux&format=deb' -O discord.deb
|
|
sudo apt install ./discord.deb -y
|
|
|
|
# now let's do telegram
|
|
|
|
wget https://td.telegram.org/tlinux/tsetup.5.11.1.tar.xz -O tsetup.5.11.1.tar.xz
|
|
tar -xvf tsetup.5.11.1.tar.xz
|
|
|
|
# Now lets do kopia
|
|
|
|
curl -s https://kopia.io/signing-key | sudo gpg --dearmor -o /etc/apt/keyrings/kopia-keyring.gpg
|
|
echo "deb [signed-by=/etc/apt/keyrings/kopia-keyring.gpg] http://packages.kopia.io/apt/ stable main" | sudo tee /etc/apt/sources.list.d/kopia.list
|
|
sudo apt update
|
|
sudo apt install kopia -y
|
|
sudo apt install kopia-ui -y
|
|
|
|
# now lets do steam
|
|
|
|
wget https://cdn.cloudflare.steamstatic.com/client/installer/steam.deb -O steam.deb
|
|
sudo apt install ./steam.deb -y
|
|
|
|
# that is it for now, maybe later add xanmod or openrc
|
|
|
|
# Now lets add NVM
|
|
|
|
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
source $HOME/.bashrc
|
|
nvm install --lts
|
|
|
|
# Now bun
|
|
|
|
curl -fsSL https://bun.sh/install | bash |