163 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/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
 | 
