Files
Linux-Scripts/main/setup.sh
2025-11-30 19:05:10 -08:00

277 lines
10 KiB
Bash

#!/bin/bash
# Copyright (c) 2022 fithwum
# All rights reserved
USER=fithwum
MAKEMKV_VERSION=1.18.2
JF_VERSION=1.12.0
LINUX_VERSION=trixie
PROTON_VERSION=2.14.0
echo " "
echo "INFO ! checking for & installing updates."
echo " "
apt-get --fix-broken install -y
apt-get -y update
apt-get -y upgrade
echo " "
echo "INFO ! Security Tools."
echo " "
# apt-get install --no-install-recommends -y clamav
apt-get install --no-install-recommends -y fail2ban
systemctl enable fail2ban --now
echo " "
echo "INFO ! Installing utillities."
echo " "
apt-get install --no-install-recommends -y ttf-mscorefonts-installer
apt-get install --no-install-recommends -y putty
# apt-get install --no-install-recommends -y nextcloud-desktop
# apt-get install --no-install-recommends -y syncthing
apt-get install --no-install-recommends -y htop
# apt-get install --no-install-recommends -y gparted
apt-get install --no-install-recommends -y keepassxc
# apt-get install --no-install-recommends -y filezilla
apt-get install --no-install-recommends -y curl
# apt-get install --no-install-recommends -y chirp
# apt-get install --no-install-recommends -y satdump
# apt-get install --no-install-recommends -y rustdesk
apt-get install --no-install-recommends -y lightdm-settings
apt-get install --no-install-recommends -y gnome-calendar
apt-get install --no-install-recommends -y libfuse2t64
apt-get install --no-install-recommends -y tar
# echo " "
# echo "INFO ! Installing MakeMKV-${MAKEMKV_VERSION} & utillities."
# echo " "
# apt-get install --no-install-recommends -y build-essential pkg-config qtbase5-dev zlib1g-dev libc6-dev libssl-dev libexpat1-dev libavcodec-dev libgl1-mesa-dev ffmpeg
# wget --no-cache --show-progress --progress=bar:force:noscroll "https://www.makemkv.com/download/makemkv-bin-${MAKEMKV_VERSION}.tar.gz" -O makemkv-bin-${MAKEMKV_VERSION}.tar.gz
# wget --no-cache --show-progress --progress=bar:force:noscroll "https://www.makemkv.com/download/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" -O makemkv-oss-${MAKEMKV_VERSION}.tar.gz
# tar -xf makemkv-bin-${MAKEMKV_VERSION}.tar.gz
# tar -xf makemkv-oss-${MAKEMKV_VERSION}.tar.gz
# rm -fr makemkv-*-*.tar.gz
# chown ${USER} makemkv*
# cd makemkv-oss-${MAKEMKV_VERSION}
# ./configure
# make
# make install
# cd ..
# cd makemkv-bin-${MAKEMKV_VERSION}
# make
# make install
# cd ..
# rm -fr makemkv-*-*
# echo " "
# echo "INFO ! Installing Rubyripper utillities."
# echo " "
#apt-get install --no-install-recommends -y ruby ruby-rexml ruby-gettext ruby-gtk3
#apt-get install --no-install-recommends -y cdparanoia cd-discid eject normalize-audio sox cdrdao
#apt-get install --no-install-recommends -y vorbisgain mp3gain
#apt-get install --no-install-recommends -y flac lame
echo " "
echo "INFO ! Codeing things."
echo " "
# apt-get install --no-install-recommends -y docker docker.io docker-compose docker-clean docker-registry
apt-get install --no-install-recommends -y git
# apt-get install --no-install-recommends -y gh
# apt-get install --no-install-recommends -y arduino
# apt-get install --no-install-recommends -y adb
apt-get install --no-install-recommends -y python
if dpkg -s code &> /dev/null
then
echo "INFO ! VS-Code installed ... moving on."
else
echo " "
echo "WARNING ! VS-Code not installed ... will install now."
wget --no-cache --show-progress --progress=bar:force:noscroll "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64" -O vs-code.deb
dpkg -i vs-code.deb
rm -fr vs-code.deb
fi
echo " "
echo "INFO ! Installing media things."
echo " "
apt-get install --no-install-recommends -y audacity
apt-get install --no-install-recommends -y vlc
apt-get install --no-install-recommends -y obs-studio
# apt-get install --no-install-recommends -y kdenlive
apt-get install --no-install-recommends -y gimp
# apt-get install --no-install-recommends -y inkscape
# apt-get install --no-install-recommends -y asunder
# Jellyfin.
# if dpkg -s jellyfin-media-player &> /dev/null
# then
# echo "INFO ! jellyfin-media-player installed ... moving on."
# else
# echo " "
# echo "WARNING ! jellyfin-media-player not installed ... will install now."
# wget --no-cache --show-progress --progress=bar:force:noscroll "https://github.com/jellyfin/jellyfin-media-player/releases/download/v${JF_VERSION}/jellyfin-media-player_${JF_VERSION}-${LINUX_VERSION}.deb" -O jellyfin-media-player_${JF_VERSION}-${LINUX_VERSION}.deb
# dpkg -i jellyfin-media-player_${JF_VERSION}-${LINUX_VERSION}.deb
# rm -fr jellyfin-media-player_${JF_VERSION}-${LINUX_VERSION}.deb
# fi
# echo " "
# echo "INFO ! Installing moddeling/3D Printing stuff."
# echo " "
# apt-get install --no-install-recommends -y blender
# apt-get install --no-install-recommends -y freecad
# apt-get install --no-install-recommends -y cura
echo " "
echo "INFO ! Installing Browser(s)."
echo " "
if dpkg -s librewolf &> /dev/null
then
echo "INFO ! librewolf installed ... moving on."
else
echo " "
echo "WARNING ! librewolf not installed ... will install now."
apt-get update && apt-get install -y extrepo
extrepo enable librewolf
apt-get update && apt-get install -y librewolf
fi
# if dpkg -s brave-browser &> /dev/null
# then
# echo "INFO ! Brave installed ... moving on."
# else
# echo " "
# echo "WARNING ! Brave not installed ... will install now."
# curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
# echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
# apt -y update
# apt-get install brave-browser
# fi
# echo " "
# echo "INFO ! Installing Video Wallpaper."
# echo " "
#git clone https://github.com/ghostlexly/gpu-video-wallpaper.git
#chmod +x /gpu-video-wallpaper/install.sh
#./gpu-video-wallpaper/install.sh
#rm -fr /gpu-video-wallpaper
# echo " "
# echo "INFO ! Installing Flatpack."
# echo " "
#apt-get install --no-install-recommends -y flatpak
#apt-get install --no-install-recommends -y gnome-software-plugin-flatpak
#flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# echo " "
# echo "INFO ! Installing Flatpack APP(S)."
# echo " "
#flatpak install flathub io.github.jeffshee.Hidamari
# echo " "
# echo "Installing Microsoft Java"
# echo " "
# if dpkg -s msopenjdk-21 &> /dev/null
# then
# echo "INFO ! msopenjdk-21 installed ... moving on."
# else
# echo " "
# echo "WARNING ! msopenjdk-21 not installed ... will install now."
# apt-get update
# apt-get install --no-install-recommends -y wget lsb-release
# wget https://packages.microsoft.com/config/debian/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
# dpkg -i packages-microsoft-prod.deb
# rm -fr packages-microsoft-prod.deb
# apt-get update
# apt-get install --no-install-recommends -y msopenjdk-21
# fi
echo " "
echo "Installing Wine/Winetricks"
echo " "
if [ -e /usr/local/bin/winetricks ]
then
echo "INFO ! winetricks installed ... moving on."
else
echo " "
echo "WARNING ! winetricks not installed ... will install now."
apt-get install --no-install-recommends -y wine wine32 cabextract
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
mv -u winetricks /usr/local/bin
fi
echo " "
echo "INFO ! Installing Steam."
echo " "
if dpkg -l | grep steam-launcher
then
echo "INFO ! Steam installed ... moving on."
else
echo " "
echo "WARNING ! Steam not installed ... will install now."
wget --no-cache --show-progress --progress=bar:force:noscroll "https://cdn.fastly.steamstatic.com/client/installer/steam.deb" -O steam.deb
dpkg -i steam.deb
rm -fr steam.deb
fi
echo " "
echo "INFO ! Installing Protonup-QT."
echo " "
if [ -e /home/${USER}/ProtonUp-Qt-${PROTON_VERSION}-x86_64.AppImage ]
then
echo "INFO ! ProtonUp-Qt-${PROTON_VERSION}-x86_64.AppImage installed ... moving on."
else
echo " "
echo "WARNING ! ProtonUp-Qt-${PROTON_VERSION}-x86_64.AppImage not installed ... will install now."
wget --no-cache --show-progress --progress=bar:force:noscroll "https://github.com/DavidoTek/ProtonUp-Qt/releases/download/v${PROTON_VERSION}/ProtonUp-Qt-${PROTON_VERSION}-x86_64.AppImage" -O /home/${USER}/ProtonUp-Qt-${PROTON_VERSION}-x86_64.AppImage
chown ${USER} /home/${USER}/ProtonUp-Qt-${PROTON_VERSION}-x86_64.AppImage
fi
echo " "
echo "INFO ! Installing TeamSpeak."
echo " "
if [ -e /home/${USER}/TeamSpeak3-Client-linux_amd64 ]
then
echo "INFO ! TeamSpeak3-Client-linux_amd64 installed ... moving on."
else
echo " "
echo "WARNING ! TeamSpeak3-Client-linux_amd64 not installed ... will install now."
wget --no-cache https://www.teamspeak.com/versions/client.json -O client.json
TS_VERSION_CHECK=$(cat client.json | grep version | head -1 | awk -F: '{print $4}' | sed 's/[",]//g' | sed "s/checksum//g")
TS_VERSION=${TS_VERSION_CHECK}
echo "Latest client version from Teamspeak:$TS_VERSION"
rm -fr client.json
echo "INFO ! Downloading and installing Teanspeak-client-${TS_VERSION}"
wget --no-cache https://files.teamspeak-services.com/releases/client/${TS_VERSION}/TeamSpeak3-Client-linux_amd64-${TS_VERSION}.run -O TeamSpeak3-Client-linux_amd64-${TS_VERSION}.run
chmod +x TeamSpeak3-Client-linux_amd64-${TS_VERSION}.run
./TeamSpeak3-Client-linux_amd64-${TS_VERSION}.run
rm -fr TeamSpeak3-Client-linux_amd64-${TS_VERSION}.run
chown -R ${USER} TeamSpeak3-Client-linux_amd64/
mv -u TeamSpeak3-Client-linux_amd64/ /home/${USER}
rm -fr TeamSpeak3-Client-linux_amd64/
fi
echo " "
echo "INFO ! Removing games."
echo " "
apt-get remove -y gnome-2048 five-or-more four-in-a-row hitori gnome-klotski gnome-mahjongg gnome-nibbles gnome-robots gnome-sudoku gnome-taquin gnome-tetravex gnome-reversi iagno lightsoff quadrapassel swell-foop tali
apt-get purge -y gnome-2048 five-or-more four-in-a-row hitori gnome-klotski gnome-mahjongg gnome-nibbles gnome-robots gnome-sudoku gnome-taquin gnome-tetravex gnome-reversi iagno lightsoff quadrapassel swell-foop tali
echo " "
echo "INFO ! Removing other things."
echo " "
apt-get remove -y hexchat* pidgin* transmission* firefox-esr remmina kdeconnect-* x11vnc
apt-get purge -y hexchat* pidgin* transmission* firefox-esr remmina kdeconnect-* x11vnc
echo " "
echo "INFO ! Final cleanup."
echo " "
apt-get autoremove -y
apt-get autoclean -y
echo " "
echo "INFO ! Done."
exit