#!/usr/bin/env bash # A script for setting up post install # Relies on Flatpak to be installed # Created by Blake Ridgway # Enable RPM Fusion sudo dnf install \ https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm sudo dnf install \ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm # Update system after confirming RPM Fusion is enabled sudo dnf update; sudo dnf upgrade # Verify flatpak is engaged properly flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo PACKAGE_LIST=( bpytop cargo gcc-c++ git golang fd-find java-openjdk neofetch neovim python3 python3-pip ripgrep rust solaar tilix virt-manager zsh ) FLATPAK_LIST=( com.bitwarden.desktop com.discordapp.Discord com.slack.Slack md.obsidian.Obsidian net.veloren.airshipper ) echo ####################### echo # Installing Packages # echo ####################### # iterate through package and installs them for package_name in ${PACKAGE_LIST[@]}; do if ! sudo dnf list --installed | grep -q "^\<$package_name\>"; then echo "Installing $package_name..." sleep .5 sudo dnf install "$package_name" -y echo "$package_name has been installed" else echo "$package_name already installed" fi done for flatpak_name in ${FLATPAK_LIST[@]}; do if ! flatpak list | grep -q $flatpak_name; then flatpak install "$flatpak_name" -y else echo "$package_name already installed" fi done echo ####### echo # NVM # echo ####### curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash echo ######## echo # Node # echo ######## # nvm install node echo ########## echo # pynvim # echo ########## /usr/bin/python3 -m pip install pynvim echo ####### echo # SSH # echo ####### ssh-keygen -t ed25519 -C ${USER}@$(hostname --fqdn) echo ##################### echo # Install Nerd Font # echo ##################### # Nerd Font install wget https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/Hack/Regular/HackNerdFont-Regular.ttf mkdir -p ~/.local/share/fonts cp Hack\ Regular\ Nerd\ Font\ Complete.ttf ~/.local/share/fonts/ fc-cache -f -v echo ###################### echo # Installing OhMyZSH # echo ###################### sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" echo ################## echo # Setup Starship # echo ################## curl -sS https://starship.rs/install.sh | sh echo ######################## echo # Creating Config File # echo ######################## mkdir -p ~/.config && touch ~/.config/starship.toml echo ################### echo # Enabling Config # echo ################### starship preset nerd-font-symbols > ~/.config/starship.toml echo ################### echo # Setting up nvim # echo ################### cp -r nvim/ ~/.config/nvim/ echo ####################### echo # Cleanup and Updates # echo ####################### sudo dnf upgrade --refresh flatpak update echo ################ echo # File Cleanup # echo ################ rm -r *.ttf *.tar.gz *.rpm # Symlink files FILES=( 'vimrc' 'vim' 'zshrc' 'zsh' 'agignore' 'gitconfig' 'gitignore' 'gitmessage' 'aliases' ) for file in ${FILES[@]}; do echo "" echo "Simlinking $file to $HOME" ln -sf "$PWD/$file" "$HOME/.$file" if [ $? -eq 0 ] then echo "$PWD/$file ~> $HOME/.$file" else echo 'Install failed to symlink.' exit 1 fi done