(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