(feat): Added auto selection of distro
This commit is contained in:
		
							parent
							
								
									1a2ab0d220
								
							
						
					
					
						commit
						5659361bab
					
				
					 1 changed files with 86 additions and 32 deletions
				
			
		
							
								
								
									
										118
									
								
								post_install.sh
									
										
									
									
									
								
							
							
						
						
									
										118
									
								
								post_install.sh
									
										
									
									
									
								
							|  | @ -4,34 +4,77 @@ | ||||||
| # Relies on Flatpak to be installed | # Relies on Flatpak to be installed | ||||||
| # Created by Blake Ridgway | # Created by Blake Ridgway | ||||||
| 
 | 
 | ||||||
| # Update system before installing packages | #!/bin/bash | ||||||
| sudo dnf update && sudo dnf upgrade |  | ||||||
| 
 | 
 | ||||||
|  | # A script for setting up post install | ||||||
|  | # Relies on Flatpak to be installed | ||||||
|  | # Created by Blake Ridgway | ||||||
|  | 
 | ||||||
|  | # Function to detect the Linux distribution | ||||||
|  | detect_linux_distro() { | ||||||
|  |     if [ -f /etc/os-release ]; then | ||||||
|  |         . /etc/os-release | ||||||
|  |         echo "$ID" | ||||||
|  |     elif [ -f /etc/lsb-release ]; then | ||||||
|  |         . /etc/lsb-release | ||||||
|  |         echo "$DISTRIBUTOR_ID" | ||||||
|  |     elif [ -f /etc/debian_version ]; then | ||||||
|  |         echo "debian" | ||||||
|  |     elif [ -f /etc/redhat-release ]; then | ||||||
|  |         echo "redhat" | ||||||
|  |     else | ||||||
|  |         echo "unknown" | ||||||
|  |     fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | # Detect the Linux distribution | ||||||
|  | DISTRO=$(detect_linux_distro) | ||||||
|  | 
 | ||||||
|  | # Determine the appropriate package manager | ||||||
|  | case "$DISTRO" in | ||||||
|  |     fedora|rhel|centos) | ||||||
|  |         PACKAGE_MANAGER="dnf" | ||||||
|  |         ;; | ||||||
|  |     debian|ubuntu|pop) | ||||||
|  |         PACKAGE_MANAGER="apt" | ||||||
|  |         ;; | ||||||
|  |     *) | ||||||
|  |         echo "Unsupported distribution: $DISTRO" | ||||||
|  |         exit 1 | ||||||
|  |         ;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | # Update system before installing packages | ||||||
|  | if [ "$PACKAGE_MANAGER" == "dnf" ]; then | ||||||
|  |     sudo dnf update && sudo dnf upgrade | ||||||
|  | elif [ "$PACKAGE_MANAGER" == "apt" ]; then | ||||||
|  |     sudo apt update && sudo apt upgrade -y | ||||||
|  | fi | ||||||
| 
 | 
 | ||||||
| # Setup Flatpak | # Setup Flatpak | ||||||
| flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | ||||||
| 
 | 
 | ||||||
| PACKAGE_LIST=( | PACKAGE_LIST=( | ||||||
| 	bpytop |     bpytop | ||||||
| 	curl |     curl | ||||||
| 	git |     git | ||||||
| 	golang |     golang | ||||||
| 	fd-find |     fd-find | ||||||
| 	flatpak |     flatpak | ||||||
| 	libfontconfig-dev |     libfontconfig-dev | ||||||
| 	libssl-dev: |     libssl-dev | ||||||
| 	micro |     micro | ||||||
| 	neofetch |     neofetch | ||||||
| 	python3 |     python3 | ||||||
| 	python3-pip |     python3-pip | ||||||
| 	ripgrep |     ripgrep | ||||||
| 	steam |     steam | ||||||
| 	virt-manager |     virt-manager | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| FLATPAK_LIST=( | FLATPAK_LIST=( | ||||||
| 	com.bitwarden.desktop |     com.bitwarden.desktop | ||||||
| 	net.davidotek.pupgui2 |     net.davidotek.pupgui2 | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| echo ####################### | echo ####################### | ||||||
|  | @ -39,22 +82,33 @@ echo # Installing Packages # | ||||||
| echo ####################### | echo ####################### | ||||||
| 
 | 
 | ||||||
| for package_name in ${PACKAGE_LIST[@]}; do | for package_name in ${PACKAGE_LIST[@]}; do | ||||||
| 	if ! dnf list --installed | grep -q "^\<$package_name\>"; then |     if [ "$PACKAGE_MANAGER" == "dnf" ]; then | ||||||
| 		echo "Installing $package_name..." |         if ! dnf list --installed | grep -q "^\<$package_name\>"; then | ||||||
| 		sleep .5 |             echo "Installing $package_name..." | ||||||
| 		sudo dnf install "$package_name" -y |             sleep .5 | ||||||
| 		echo "$package_name has been installed" |             sudo dnf install "$package_name" -y | ||||||
| 	else |             echo "$package_name has been installed" | ||||||
| 		echo "$package_name already installed" |         else | ||||||
| 	fi |             echo "$package_name already installed" | ||||||
|  |         fi | ||||||
|  |     elif [ "$PACKAGE_MANAGER" == "apt" ]; then | ||||||
|  |         if ! dpkg -l | grep -q "^\<ii\> $package_name"; then | ||||||
|  |             echo "Installing $package_name..." | ||||||
|  |             sleep .5 | ||||||
|  |             sudo apt install "$package_name" -y | ||||||
|  |             echo "$package_name has been installed" | ||||||
|  |         else | ||||||
|  |             echo "$package_name already installed" | ||||||
|  |         fi | ||||||
|  |     fi | ||||||
| done | done | ||||||
| 
 | 
 | ||||||
| for flatpak_name in ${FLATPAK_LIST[@]}; do | for flatpak_name in ${FLATPAK_LIST[@]}; do | ||||||
| 	if ! flatpak list | grep -q $flatpak_name; then |     if ! flatpak list | grep -q $flatpak_name; then | ||||||
| 		flatpak install "$flatpak_name" -y |         flatpak install "$flatpak_name" -y | ||||||
| 	else |     else | ||||||
| 		echo "$package_name already installed" |         echo "$flatpak_name already installed" | ||||||
| 	fi |     fi | ||||||
| done | done | ||||||
| 
 | 
 | ||||||
| echo ####### | echo ####### | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Blake Ridgway
						Blake Ridgway