(feat): Added auto selection of distro
This commit is contained in:
		
							parent
							
								
									1a2ab0d220
								
							
						
					
					
						commit
						5659361bab
					
				
					 1 changed files with 86 additions and 32 deletions
				
			
		|  | @ -4,9 +4,52 @@ | |||
| # Relies on Flatpak to be installed | ||||
| # Created by Blake Ridgway | ||||
| 
 | ||||
| # Update system before installing packages | ||||
| sudo dnf update && sudo dnf upgrade | ||||
| #!/bin/bash | ||||
| 
 | ||||
| # 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 | ||||
| flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | ||||
|  | @ -19,7 +62,7 @@ PACKAGE_LIST=( | |||
|     fd-find | ||||
|     flatpak | ||||
|     libfontconfig-dev | ||||
| 	libssl-dev: | ||||
|     libssl-dev | ||||
|     micro | ||||
|     neofetch | ||||
|     python3 | ||||
|  | @ -39,6 +82,7 @@ echo # Installing Packages # | |||
| echo ####################### | ||||
| 
 | ||||
| for package_name in ${PACKAGE_LIST[@]}; do | ||||
|     if [ "$PACKAGE_MANAGER" == "dnf" ]; then | ||||
|         if ! dnf list --installed | grep -q "^\<$package_name\>"; then | ||||
|             echo "Installing $package_name..." | ||||
|             sleep .5 | ||||
|  | @ -47,13 +91,23 @@ for package_name in ${PACKAGE_LIST[@]}; do | |||
|         else | ||||
|             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 | ||||
| 
 | ||||
| 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" | ||||
|         echo "$flatpak_name already installed" | ||||
|     fi | ||||
| done | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Blake Ridgway
						Blake Ridgway