394 lines
14 KiB
Bash
Executable File
394 lines
14 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) 2022 fithwum
|
|
# All rights reserved
|
|
set -eu
|
|
|
|
USER=fithwum
|
|
MAKEMKV_VERSION=1.18.2
|
|
JF_VERSION_TYPE=media-player
|
|
JF_VERSION=1.12.0
|
|
LINUX_VERSION=trixie
|
|
PROTON_VERSION=2.14.0
|
|
KRITA_VERSION=5.2.14
|
|
|
|
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 ! 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 iftop
|
|
apt-get install --no-install-recommends -y fastfetch
|
|
# 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 ! 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 python3
|
|
|
|
# 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
|
|
|
|
if dpkg -s codium &> /dev/null
|
|
then
|
|
echo "INFO ! VS-Codium installed ... moving on."
|
|
else
|
|
echo " "
|
|
echo "WARNING ! VS-Codium not installed ... will install now."
|
|
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
|
|
echo -e 'Types: deb\nURIs: https://download.vscodium.com/debs\nSuites: vscodium\nComponents: main\nArchitectures: amd64 arm64\nSigned-by: /usr/share/keyrings/vscodium-archive-keyring.gpg' | tee /etc/apt/sources.list.d/vscodium.sources
|
|
apt-get update
|
|
apt-get --no-install-recommends -y install codium
|
|
fi
|
|
|
|
echo " "
|
|
echo "INFO ! 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
|
|
|
|
# if dpkg -s jellyfin-${JF_VERSION_TYPE} &> /dev/null
|
|
# then
|
|
# echo "INFO ! jellyfin-${JF_VERSION_TYPE} installed ... moving on."
|
|
# else
|
|
# echo " "
|
|
# echo "WARNING ! jellyfin-${JF_VERSION_TYPE} not installed ... will install now."
|
|
# wget --no-cache --show-progress --progress=bar:force:noscroll "https://github.com/jellyfin/jellyfin-desktop/releases/download/v${JF_VERSION}/jellyfin-${JF_VERSION_TYPE}_${JF_VERSION}-${LINUX_VERSION}.deb" -O jellyfin-${JF_VERSION_TYPE}_${JF_VERSION}-${LINUX_VERSION}.deb
|
|
# dpkg -i jellyfin-${JF_VERSION_TYPE}_${JF_VERSION}-${LINUX_VERSION}.deb
|
|
# rm -fr jellyfin-${JF_VERSION_TYPE}_${JF_VERSION}-${LINUX_VERSION}.deb
|
|
# fi
|
|
|
|
# if [ -e /home/${USER}/krita-${KRITA_VERSION}-x86_64.AppImage ]
|
|
# then
|
|
# echo "INFO ! krita-${KRITA_VERSION}-x86_64.AppImage installed ... moving on."
|
|
# else
|
|
# echo " "
|
|
# echo "WARNING ! krita-${KRITA_VERSION}-x86_64.AppImage not installed ... will install now."
|
|
# rm -fr /home/${USER}/krita-*-x86_64.AppImage
|
|
# wget --no-cache --show-progress --progress=bar:force:noscroll "https://download.kde.org/stable/krita/${KRITA_VERSION}/krita-${KRITA_VERSION}-x86_64.AppImage" -O /home/${USER}/krita-${KRITA_VERSION}-x86_64.AppImage
|
|
# chown ${USER} /home/${USER}/krita-${KRITA_VERSION}-x86_64.AppImage
|
|
# chmod +x /home/${USER}/krita-${KRITA_VERSION}-x86_64.AppImage
|
|
|
|
# tee /home/${USER}/Desktop/krita.desktop <<-EOF
|
|
# [Desktop Entry]
|
|
# Type=Application
|
|
# Name=Krita
|
|
# Exec=/home/$USER/krita-$KRITA_VERSION-x86_64.AppImage
|
|
# Icon=cinnamon-panel-launcher
|
|
# Terminal=false
|
|
# EOF
|
|
|
|
# chown ${USER} /home/${USER}/Desktop/krita.desktop
|
|
# chmod +x /home/${USER}/Desktop/krita.desktop
|
|
# fi
|
|
|
|
# echo " "
|
|
# echo "INFO ! 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 ! Browsers."
|
|
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 --no-install-recommends -y extrepo
|
|
extrepo enable librewolf
|
|
apt-get update && apt-get install --no-install-recommends -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 --no-install-recommends -y 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 ! Flatpack APP(S)."
|
|
# echo " "
|
|
# flatpak install flathub io.github.jeffshee.Hidamari
|
|
|
|
echo " "
|
|
echo "INFO ! Java"
|
|
echo " "
|
|
## Microsoft
|
|
# 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
|
|
|
|
## Open JDK
|
|
if dpkg -s openjdk-21-jdk-headless &> /dev/null
|
|
then
|
|
echo "INFO ! openjdk-21-jdk-headless installed ... moving on."
|
|
else
|
|
echo " "
|
|
echo "WARNING ! openjdk-21-jdk-headless not installed ... will install now."
|
|
apt-get install --no-install-recommends -y openjdk-21-jdk-headless
|
|
fi
|
|
|
|
## Open JRE
|
|
# if dpkg -s openjdk-21-jre-headless &> /dev/null
|
|
# then
|
|
# echo "INFO ! openjdk-21-jre-headless installed ... moving on."
|
|
# else
|
|
# echo " "
|
|
# echo "WARNING ! openjdk-21-jre-headless not installed ... will install now."
|
|
# apt-get install --no-install-recommends -y openjdk-21-jre-headless
|
|
# fi
|
|
|
|
echo " "
|
|
echo "INFO ! 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 libwine 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."
|
|
rm -fr /home/${USER}/ProtonUp-Qt-*-x86_64.AppImage
|
|
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
|
|
chmod +x /home/${USER}/ProtonUp-Qt-${PROTON_VERSION}-x86_64.AppImage
|
|
|
|
tee /home/${USER}/Desktop/ProtonUp-QT.desktop <<-EOF
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=ProtonUp-QT
|
|
Exec=/home/$USER/ProtonUp-Qt-$PROTON_VERSION-x86_64.AppImage
|
|
Icon=cinnamon-panel-launcher
|
|
Terminal=false
|
|
EOF
|
|
|
|
chown ${USER} /home/${USER}/Desktop/ProtonUp-QT.desktop
|
|
chmod +x /home/${USER}/Desktop/ProtonUp-QT.desktop
|
|
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 "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/
|
|
|
|
tee /home/${USER}/Desktop/TeamSpeak.desktop <<-EOF
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=TeamSpeak
|
|
Exec=/home/$USER/TeamSpeak3-Client-linux_amd64/ts3client_runscript.sh
|
|
Icon=teamspeak-client
|
|
Terminal=false
|
|
EOF
|
|
|
|
chown ${USER} /home/${USER}/Desktop/TeamSpeak.desktop
|
|
chmod +x /home/${USER}/Desktop/TeamSpeak.desktop
|
|
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 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 iagno lightsoff quadrapassel swell-foop tali
|
|
|
|
# apt-get remove -y gnome-reversi
|
|
# apt-get purge -y gnome-reversi
|
|
|
|
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 ! Setting auto shutdown timer."
|
|
# echo " "
|
|
# tee /etc/systemd/system/shutdown.timer <<EOF
|
|
# [Unit]
|
|
# Description=Timer to shut down the system
|
|
|
|
# [Timer]
|
|
# OnCalendar=*-*-* 22:00
|
|
# Persistent=true
|
|
|
|
# [Install]
|
|
# WantedBy=timers.target
|
|
# EOF
|
|
|
|
# tee /etc/systemd/system/shutdown.service <<EOF
|
|
# [Unit]
|
|
# Description=Service to Shutdown the system, run by a timer
|
|
|
|
# [Service]
|
|
# Type=oneshot
|
|
# ExecStart=/sbin/shutdown now
|
|
# EOF
|
|
|
|
# systemctl daemon-reload
|
|
# systemctl enable --now shutdown.timer
|
|
# systemctl list-timers
|
|
|
|
echo " "
|
|
echo "INFO ! Done."
|
|
exit |