diff --git a/alpine/vps-install-alpine.sh b/alpine/setup-alpine.sh similarity index 100% rename from alpine/vps-install-alpine.sh rename to alpine/setup-alpine.sh diff --git a/debian/nvidia-drivers.sh b/debian/nvidia-drivers.sh deleted file mode 100644 index c3acd75..0000000 --- a/debian/nvidia-drivers.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env sh - -# Check if running as root -if [ "$EUID" -ne 0 ]; then - echo "Please run as root" - exit -fi - -# Ensure dependencies -apt install -y dirmngr ca-certificates software-properties-common apt-transport-https dkms curl - -# Remove all old nvidia Drivers -apt autoremove nvidia* --purge - -# Installs GPG-Keys -curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1 - -# Installs Nvidia Repository -cat << END_OF_FILE > /etc/apt/sources.list.d/nvidia-drivers.list -deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/ / -END_OF_FILE - -# Installs Nvidia Drivers -apt update && apt install nvidia-driver nvidia-smi nvidia-settings \ No newline at end of file diff --git a/debian/setup-debian.sh b/debian/setup-debian.sh index f06b166..0b48be4 100644 --- a/debian/setup-debian.sh +++ b/debian/setup-debian.sh @@ -1,123 +1,32 @@ #!/usr/bin/env sh -$INTERACTION_MODE=0 - -# Check if running as root -if [ "$EUID" -ne 0 ]; then - echo "Please run as root" - exit -fi - # Add contrib, non-free and non-free-firmware to the sources -config_sources () { - echo "INFO: ####################### Add contrib, non-free and non-free-firmware to the sources #######################" - interactive - cat << END_OF_FILE > /etc/apt/sources.list - deb https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware - deb-src https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware +cat << END_OF_FILE > /etc/apt/sources.list +deb https://deb.debian.org/debian trixie main contrib non-free non-free-firmware +deb-src https://deb.debian.org/debian trixie main contrib non-free non-free-firmware - deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware - deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware +deb https://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware +deb-src https://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware - deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware - deb-src https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware - END_OF_FILE - - echo "INFO: ####################### Add Element to the sources #######################" - wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg - cat << END_OF_FILE > /etc/apt/sources.list.d/element-io.list - deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main - END_OF_FILE -} +deb https://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware +deb-src https://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware +END_OF_FILE # Add multi-arch support -config_multi-arch () { - echo "INFO: ####################### Add multi-arch support #######################" - interactive - dpkg --add-architecture i386 -} +dpkg --add-architecture i386 # Update apt sources -update_sources () { - echo "INFO: ####################### Update apt sources #######################" - interactive - apt-get update -} -# Upgrade upgradeable packages -upgrade_packages () { - echo "INFO: ####################### Upgrade upgradeable packages #######################" - interactive - apt-get upgrade --yes -} +apt-get update -# Install packages -install_packages () { - echo "INFO: ####################### Install packages #######################" - interactive - apt-get install --yes element-desktop gnome-core gnome-connections gnome-text-editor gnome-disk-utility gnome-passwordsafe gnome-feeds vim curl chromium dropbear dropbear-initramfs steam-installer wine wine64 protontricks pcsx2 openjdk-17-jre flatpak gnome-software-plugin-flatpak git python3 python3-venv qemu-kvm virt-manager tmux apostrophe -} +# Upgrade upgradeable packages +apt-get upgrade --yes + +# Installs packages +apt-get install --yes gnome-core gnome-connections gnome-text-editor gnome-disk-utility gnome-passwordsafe gnome-feeds vim curl chromium dropbear dropbear-initramfs steam-installer wine wine64 protontricks pcsx2 openjdk-17-jre flatpak gnome-software-plugin-flatpak git python3 python3-venv qemu-kvm virt-manager nvidia-driver # Install Proton-GE -install_proton-ge () { - echo "INFO: ####################### Install Proton-GE #######################" - interactive - wget -q -O - https://git.adrianux.net/ahoemann/Setup-Scripts/raw/branch/main/proton/proton-ge-setup.sh | bash -} - -# Setup Flatpaks -setup_flatpaks () { - echo "INFO: ####################### Setup Flatpak #######################" - interactive - flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo - flatpak install --assumeyes --noninteractive flathub org.telegram.desktop flathub com.usebottles.bottles - flatpak override --filesystem=host -} - -# Install NordVPN -install_nordvpn () { - echo "INFO: ####################### Install NordVPN #######################" - interactive - sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh) -} -# Install Internet Archive CLI -install_ia-cli () { - echo "INFO: ####################### Install Internet Archive CLI #######################" - interactive - wget https://archive.org/download/ia-pex/ia -o /tmp/ia - chmod +x /tmp/ia - mv /tmp/ia /usr/bin/ia -} - -main () { - config_sources - config_multi-arch - update_sources - upgrade_packages - install_packages - install_proton-ge - setup_flatpaks - install_nordvpn - install_ia-cli -} - -if [ $1 == "-i" ]; then - $INTERACTION_MODE="1" -elif [ -z $1 ]; then - $1 -else - main -fi - -# Check if running in interactive mode -interactive () { - if [ $INTERACTION_MODE -eq "1" ];then - echo "INFO: ctrl+c to stop the script" - read -p "Press any key to start the current step..." - fi -} - -if [ -n $(lspci | grep nvidia) ]; then - wget -q -O - https://git.adrianux.net/ahoemann/Setup-Scripts/raw/branch/main/debian/nvidia-drivers.sh | sh - exit -fi +wget -q -O - https://git.adrianux.net/ahoemann/Setup-Scripts/raw/branch/main/proton/proton-ge-setup.sh | bash +# Setup Flatpak repo +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo +flatpak install --assumeyes --noninteractive flathub org.telegram.desktop flathub com.usebottles.bottles diff --git a/setup-main.sh b/setup-main.sh index 22a58be..9e2e395 100644 --- a/setup-main.sh +++ b/setup-main.sh @@ -1,10 +1,12 @@ #!/bin/sh +# Incase of pipefail stop the script +set -euo pipefail -if [ $SCRIPT -eq "setup-ebian" ]; then +if [ $SCRIPT -eq "debian-setup" ]; then wget -q -O - https://git.adrianux.net/ahoemann/Setup-Scripts/raw/branch/main/debian/setup-debian.sh | bash -elif [ $SCRIPT -eq "vps-install-alpine" ]; then - wget -q -O - https://git.adrianux.net/ahoemann/Setup-Scripts/raw/branch/main/alpine/vps-install-alpine.sh | bash +elif [ $SCRIPT -eq "alpine-setup" ]; then + wget -q -O - https://git.adrianux.net/ahoemann/Setup-Scripts/raw/branch/main/alpine/setup-alpine.sh | bash else echo $SCRIPT "is an invalid option." exit 1