#!/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 2 echo "Turning off mouse acceleration..." gsettings set org.gnome.desktop.peripherals.mouse accel-profile 'flat' sleep 2 echo "Filehistory will clear every week..." gsettings set org.gnome.desktop.privacy recent-files-max-age 7 sleep 2 echo "Trash and temporary files will clear every week..." gsettings set org.gnome.desktop.privacy old-files-age 7 sleep 2 gsettings set org.gnome.desktop.privacy remove-old-temp-files true sleep 2 gsettings set org.gnome.desktop.privacy remove-old-trash-files true sleep 2 gsettings set org.gnome.desktop.interface enable-hot-corners false sleep 2 # 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 -y com.vscodium.codium io.gitlab.librewolf-community com.spotify.Client com.belmoussaoui.Obfuscate network.loki.Session org.videolan.VLC org.nickvision.tubeconverter cafe.avery.Delfin de.haeckerfelix.Fragments org.gnome.gitlab.YaLTeR.VideoTrimmer com.github.tchx84.Flatseal org.shotcut.Shotcut com.raggesilver.BlackBox com.github.neithern.g4music net.nokyan.Resources # 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, Nautilus, and Librewolf..." ## Spotify bash <(curl -sSL https://spotx-official.github.io/run.sh) -h -d -f ## Nautilus sudo dnf install nautilus-python -y --quiet git clone https://github.com/ppvan/nautilus-open-in-blackbox.git cd nautilus-open-in-blackbox ./install.sh ## Librewolf curl -s -o- https://raw.githubusercontent.com/rafaelmardojai/firefox-gnome-theme/master/scripts/install-by-curl.sh | bash # Settings clear echo "Applying Settings for VSCodium and Blackbox..." ## VSCodium echo "Generating files for VSCodium..." flatpak run com.raggesilver.BlackBox --command "flatpak run com.vscodium.codium" echo "Just close it." cd /home/korbs/.var/app/com.vscodium.codium/config/VSCodium/User wget https://ark.sudovanilla.org/Korbs/Quick-Linux-Setup/raw/branch/main/configs/vscodium.json sudo rm settings.json sudo mv vscodium.json settings.json ## Blackbox echo "Generating files for Blackbox..." flatpak run com.raggesilver.BlackBox --command "flatpak run com.raggesilver.BlackBox" echo "Just close it." cd /home/korbs/.var/app/com.raggesilver.BlackBox/config/glib-2.0/settings wget https://ark.sudovanilla.org/Korbs/Quick-Linux-Setup/raw/branch/main/configs/blackbox.keyfile sudo rm keyfile sudo mv blackbox.keyfile keyfile # 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 2 echo "Don't forget to setup Git:" echo 'git config --global user.name "USERNAME"' echo 'git config --global user.email "email@example.org"' echo "" echo "Some settings need to be modified in Librewolf 'about:config'. Enable the following:" echo "gnomeTheme.hideSingleTab" echo "gnomeTheme.bookmarksToolbarUnderTabs" echo "gnomeTheme.closeOnlySelectedTabs" echo "gnomeTheme.systemIcons" echo "gnomeTheme.hideWebrtcIndicator" echo "" 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"