Files
Fedora-Script/Fedora-Installer-Script.sh
2025-07-18 21:25:27 -07:00

248 lines
9.2 KiB
Bash

#!/bin/bash
#/bin/zsh
# Display menu options
echo "Please select what you would like to install: "
echo "1. Install media codecs"
echo "2. Modify the dnf configuration"
echo "3. Install Microsoft Fonts and other fonts needed"
echo "4. Install things in the list that I don't know what they are for..."
echo "5. Enable and Install the Linux Kernel Vanilla"
echo "6. Install zsh and ohmyzsh"
echo "6.5 Install theme and plugins for zsh"
echo "7. Add RPMFusion and RPMSphere to the repos"
echo "8. Install WineHQ. May already be installed"
echo "9. Install most used software I use"
echo "10. Install homebrew (brew.sh)"
echo "11. Install CoolerControl"
echo "12. Install fish and theme"
# Read user input
read -p "Enter your choice: " choice
#Check the user's choice and perform actions accordingly
case $choice in
1)
echo "You selected option 1"
echo "Option 1 selected! Starting in 2 seconds."
sleep 2
sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin --allowerasing
;;
2)
echo "You selected option 2"
# Text that will be added to the file
text_to_append="max_parallel_downloads=10
defaultyes=True
keepcache=True"
#File path
file_path="/etc/dnf/dnf.conf"
# Append the text to the end of the file
echo "$text_to_append" | sudo tee -a "$file_path"
echo "Modification has been completed"
;;
3)
echo "Installing Microsoft Fonts"
sleep 1
sudo dnf upgrade --refresh
sudo dnf install curl cabextract xorg-x11-font-utils fontconfig
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
echo "Downloading fonts needed for oh my zsh"
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
#make directory for MesloLGS
sudo mkdir -p /usr/local/share/fonts/MesloLGS
sudo cp "MesloLGS NF Bold.ttf" /usr/local/share/fonts/MesloLGS
sudo fc-cache -v
;;
4)
echo "Installing random things that I might need"
sleep 1
sudo dnf groupupdate core
sudo dnf install rust-libudev-devel
sudo dnf install "kernel-devel-$(uname -r)"
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo dnf install distrobox
#sudo dnf install snapd
sleep 1
#sudo ln -s /var/lib/snapd/snap /snap
echo "Please restart the computer or logout to proceed with the rest of the options"
;;
5)
echo "Adding the Linux Kernel Vanilla repository"
sudo dnf copr enable @kernel-vanilla/stable
echo "Updating the kernel!"
sleep 1
sudo dnf copr enable @kernel-vanilla/stable
;;
6)
echo "Please make sure you installed the fronts from option 3"
sleep 5
echo "Installing zsh"
sleep 1
sudo dnf install zsh -y
sleep 1
echo "Installing zsh. Please follow the prompts when asked."
sleep 10
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
echo "Please proceed with next step to finish installation"
;;
6.5)
echo "cloning the required theme"
sleep 5
echo "adding auto suggestion."
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
sleep 1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sleep 1
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
sleep 1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
sleep 1
git clone https://github.com/MichaelAquilina/zsh-you-should-use.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/you-should-use
sleep 1
echo "adding zsh file to home folder"
cp .zshrc ~/.zshrc
source ~/.zshrc
echo "Done"
;;
7)
echo "Adding items to the repos"
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
#wget https://github.com/rpmsphere/noarch/raw/master/r/rpmsphere-release-38-1.noarch.rpm
#sudo dnf install -y rpmsphere-release-38-1.noarch.rpm
echo "Done"
;;
8)
echo "Installing WineHQ - Not really needed anymore"
sleep 1
#Update repo when a new release is available
sudo dnf config-manager --add-repo https://dl.winehq.org/wine-builds/fedora/39/winehq.repo
sudo dnf install -y winehq-staging --allowerasing
echo "Checking if wine is installed by checking version installed"
wine --version
;;
9)
echo "Installing most used software"
sleep 1
#RPM Packages
echo "Installing rpm packages"
sleep 1
sudo dnf install -y gnome-tweaks
sudo dnf install -y steam
sudo dnf install -y lutris
sudo dnf install -y google-chrome-stable.x86_64
sudo dnf install -y bottles
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
dnf check-update
sudo dnf install code # or code-insiders
sudo dnf install -y btop
sudo dnf install -y fastfetch
sudo dnf install -y dnfdragora
sudo dnf install -y waydroid
sudo dnf install -y jstest-gtk
sudo dnf install -y rEFInd.x86_64
#For AMD GPU: https://github.com/ilya-zlobintsev/LACT?tab=readme-ov-file
#JetBrains install - Not needed anymore
#echo "Installing JetBrains toolbox"
#sleep 1
#wget https://download.jetbrains.com/toolbox/jetbrains-toolbox-2.0.5.17700.tar.gz
#sudo tar -xzf jetbrains-toolbox-2.0.5.17700.tar.gz -C /opt
#Flatpak packages
echo "Installing Flatpak packages"
sleep 1
flatpak install flathub com.discordapp.Discord
flatpak install flathub com.github.tchx84.Flatseal
flatpak install flathub net.nokyan.Resources
flatpak install flathub org.gnome.Notes
flatpak install flathub com.mattjakeman.ExtensionManager
flatpak install flathub io.github.realmazharhussain.GdmSettings
flatpak install flathub io.github.dvlv.boxbuddyrs
flatpak install flathub it.mijorus.gearlever
flatpak install flathub io.github.fastrizwaan.WineZGUI
flatpak install flathub com.vysp3r.ProtonPlus
flatpak install flathub io.missioncenter.MissionCenter
flatpak install io.github.peazip.PeaZip
flatpak install flathub io.github.fastrizwaan.WineZGUI
flatpak install flathub app.devsuite.Ptyxis
flatpak install flathub re.sonny.Junction
flatpak install flathub org.gnome.Geary
flatpak install flathub org.gnome.World.PikaBackup
flatpak install flathub com.github.rafostar.Clapper
flatpak install flathub io.github.flattool.Ignition
flatpak install flathub io.github.debasish_patra_1987.linuxthemestore
flatpak install flathub codes.merritt.Nyrna
flatpak install flathub page.tesk.Refine
flatpak install flathub io.gitlab.adhami3310.Converter
flatpak install flathub com.bitwarden.desktop
flatpak install flathub com.modrinth.ModrinthApp
#Snaps packages - NOTE: Enable snap install if I re-enable this.
#echo "Installing BlueMail via snap"
#sudo snap install bluemail
sleep 1
echo "Please add the following to waydroid to set it up correctly:"
echo "System OTA: https://ota.waydro.id/system"
echo "Vendor OTA: https://ota.waydro.id/vendor"
echo "Google Play Certification: https://docs.waydro.id/faq/google-play-certification"
echo "--------------------------------------------------------------------------------"
echo "if you would like to use refind then run the following command:"
echo "sudo refind-install"
;;
10)
#Install homebrew and set it up.
echo "Installing pre-reqs"
sleep 1
sudo yum groupinstall 'Development Tools'
echo "Installing homebrew!"
sleep 1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
sleep 1
echo "Please complete the next steps to finish setup"
sleep 1
;;
11)
#Coolercontrol install
echo "Installing nessessary plugins and then the program.
# make sure you have the necessary plugin"
sleep 1
sudo dnf install dnf-plugins-core
sleep 1
sudo dnf copr enable codifryed/CoolerControl
sleep 1
sudo dnf install coolercontrol
sleep 1
sudo systemctl enable --now coolercontrold
sleep 1
echo "done"
;;
12)
echo "Installing fish"
sleep 1
sudo dnf install fish
sleep 1
echo "Installing ohmyfish"
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
sleep 1
echo "installing bob the fish theme"
sleep 1
omf install bobthefish
esac