Quick-Linux-Setup/run.sh

126 lines
4 KiB
Bash
Raw Normal View History

2024-12-13 14:37:35 -05:00
#!/usr/bin/env bash
set -e
# Check if it was ran with "sudo" or not
if [[ $(id -u) != 0 ]]; then
echo "Please run script with 'sudo'"
echo "Try 'sudo su'"
exit 1
fi
# Init
clear
echo "Updating your system..."
sudo dnf update --quiet --refresh --allowerasing -y
# Dotfiles
cd ~/
wget https://ark.sudovanilla.org/Korbs/Quick-Linux-Setup/raw/branch/main/configs/.npmrc
# Apply GNOME Settings
clear
echo "Changing settings for GNOME..."
echo "Enabling dark mode..."
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
sleep 1
echo "Turning off mouse acceleration..."
gsettings set org.gnome.desktop.peripherals.mouse accel-profile 'flat'
sleep 1
echo "Turning of hot corners..."
gsettings set org.gnome.desktop.interface enable-hot-corners false
sleep 1
echo "Filehistory will clear every week..."
gsettings set org.gnome.desktop.privacy recent-files-max-age 7
sleep 1
echo "Trash and temporary files will clear every week..."
gsettings set org.gnome.desktop.privacy old-files-age 7
sleep 1
gsettings set org.gnome.desktop.privacy remove-old-temp-files true
sleep 1
gsettings set org.gnome.desktop.privacy remove-old-trash-files true
sleep 1
gsettings set org.gnome.desktop.interface enable-hot-corners false
sleep 1
# Uninstall Apps and Packages
clear
echo "Removing unused content and applications..."
sudo dnf remove --quiet -y firef* firew* anaconda document-scanner fedora-bookmarks fedora-chromium-config gnome-clocks gnome-color-manager gnome-contacts gnome-getting-started-docs gnome-initial-setup gnome-maps gnome-online-miners gnome-remote-desktop gnome-user-docs gnome-weather gnome-characters gnome-classic-session gnome-classic-session-xsession gnome-color-manager gnome-connections gnome-disk-utility gnome-font-viewer gnome-logs gnome-shell-extension-apps-menu gnome-shell-extension-background-logo gnome-shell-extension-common gnome-shell-extension-launch-new-instance gnome-shell-extension-places-menu gnome-shell-extension-window-list gnome-system-monitor gnome-terminal gnome-text-editor gnome-tour ibus-hangul ibus-kkc ibus-libpinyin ibus-libzhuyin ibus-m17n ibus-typing-booster khmeros-base-fonts libreoffice-calc libreoffice-impress libreport problem-reporting rhythmbox sane-airscan simple-scan speech-dispatcher thai-scalable-waree-fonts totem tracker yelp
# Install Apps
clear
echo "Installing applications..."
sudo dnf config-manager --add-repo https://repository.mullvad.net/rpm/stable/mullvad.repo
sudo dnf install --quiet -y mullvad-vpn openssl
flatpak install \
com.vscodium.codium \
io.gitlab.librewolf-community \
com.spotify.Client \
com.belmoussaoui.Obfuscate \
org.videolan.VLC \
org.nickvision.tubeconverter \
cafe.avery.Delfin \
de.haeckerfelix.Fragments \
org.gnome.gitlab.YaLTeR.VideoTrimmer \
com.github.tchx84.Flatseal \
de.schmidhuberj.Flare \
org.gnome.Fractal \
io.missioncenter.MissionCenter
# Install Packages
clear
echo "Installing Nautilus and ADB..."
sudo dnf install --quiet -y nautilus adb fastboot
clear
echo "Installing Bun..."
curl -fsSL https://bun.sh/install | bash
source ~/.bashrc
clear
echo "Installing NodeJS..."
sudo dnf install nodejs -y --quiet
# Patches and Apply
clear
echo "Patching Spotify..."
## Spotify
bash <(curl -sSL https://spotx-official.github.io/run.sh) -h -d -f
# GNOME Extensions (Currently set for GNOME 46)
clear
echo "Installing GNOME extensions..."
cd ~/Downloads/
wget https://extensions.gnome.org/extension-data/gsconnectandyholmes.github.io.v57.shell-extension.zip
wget https://extensions.gnome.org/extension-data/rounded-window-cornersfxgn.v3.shell-extension.zip
clear
echo "Restarting GNOME is required, please restart the session soon."
echo "After restarting the session, run 'sh ./enable-extensions.sh'"
sleep 5
# Ending-Run
clear
echo "Finishing up..."
sudo dnf autoremove
sudo dnf clean all
# After-Run
echo "Completed."
sleep 1
echo "For the LibRedirect extension, the configuration is available here:"
echo "https://ark.sudovanilla.org/Korbs/Quick-Linux-Setup/raw/branch/main/configs/libredirect-settings-v2.9.0.json"