From a62be4778b33d582740c583c6def202c62838d8e Mon Sep 17 00:00:00 2001 From: Jacob Schantli Date: Fri, 18 Jul 2025 21:25:27 -0700 Subject: [PATCH] Main files --- .zshrc | 114 +++++++++++++++++ Fedora-Installer-Script.sh | 247 +++++++++++++++++++++++++++++++++++++ 2 files changed, 361 insertions(+) create mode 100644 .zshrc create mode 100644 Fedora-Installer-Script.sh diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..0e8171a --- /dev/null +++ b/.zshrc @@ -0,0 +1,114 @@ +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH + +# Path to your Oh My Zsh installation. +export ZSH="$HOME/.oh-my-zsh" + +# Set name of the theme to load --- if set to "random", it will +# load a random theme each time Oh My Zsh is loaded, in which case, +# to know which specific one was loaded, run: echo $RANDOM_THEME +# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +ZSH_THEME="powerlevel10k/powerlevel10k" + +# Set list of themes to pick from when loading at random +# Setting this variable when ZSH_THEME=random will cause zsh to load +# a theme from this variable instead of looking in $ZSH/themes/ +# If set to an empty array, this variable will have no effect. +# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment one of the following lines to change the auto-update behavior +# zstyle ':omz:update' mode disabled # disable automatic updates +# zstyle ':omz:update' mode auto # update automatically without asking +# zstyle ':omz:update' mode reminder # just remind me to update when it's time + +# Uncomment the following line to change how often to auto-update (in days). +# zstyle ':omz:update' frequency 13 + +# Uncomment the following line if pasting URLs and other text is messed up. +# DISABLE_MAGIC_FUNCTIONS="true" + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# You can also set it to another string to have that shown instead of the default red dots. +# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" +# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# You can set one of the optional three formats: +# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# or set a custom format using the strftime function format specifications, +# see 'man strftime' for details. +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Which plugins would you like to load? +# Standard plugins can be found in $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=(git command-not-found zsh-autosuggestions zsh-history-substring-search zsh-syntax-highlighting you-should-use) + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='nvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch $(uname -m)" + +# Set personal aliases, overriding those provided by Oh My Zsh libs, +# plugins, and themes. Aliases can be placed here, though Oh My Zsh +# users are encouraged to define aliases within a top-level file in +# the $ZSH_CUSTOM folder, with .zsh extension. Examples: +# - $ZSH_CUSTOM/aliases.zsh +# - $ZSH_CUSTOM/macos.zsh +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" + +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh diff --git a/Fedora-Installer-Script.sh b/Fedora-Installer-Script.sh new file mode 100644 index 0000000..2005803 --- /dev/null +++ b/Fedora-Installer-Script.sh @@ -0,0 +1,247 @@ +#!/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