#!/bin/bash if ping -q -c 1 -W 1 8.8.8.8 &>/dev/null; then if sudo -n true 2>/dev/null; then if [[ -f /etc/arch-release ]]; then echo "Arch Linux detected" distro="arch" if command -v python &>/dev/null; then echo "Python is already installed, proceeding" else echo "Installing python..." sudo pacman -Sy python --noconfirm > /dev/null fi fi if [[ -f /etc/debian_version ]]; then echo "Debian detected" distro="debian" echo "Updating system..." sudo apt update -y > /dev/null if command -v python &>/dev/null; then echo "Python is already installed, proceeding" else echo "Installing python..." sudo apt install python3 -y > /dev/null fi fi if [[ -f /etc/redhat-release ]]; then echo "Redhat linux detected" distro="redhat" echo "Updating system..." sudo dnf update -y > /dev/null if command -v python &>/dev/null; then echo "Python is already installed, proceeding" else echo "Installing python..." sudo dnf install python3 -y > /dev/null fi fi dotfiles="$HOME/dotfiles" read -p "Is '$dotfiles' the directory where your dotfiles are located? (y/N): " response if [[ $response =~ ^[Yy]$ ]]; then echo "Proceeding" else read -p "Please enter the correct directory path: " new_directory dotfiles="$new_directory" fi scripts="$dotfiles/scripts" install_scripts="$scripts/install" echo "Linking all config files to their respective directories..." $dotfiles/link -c $dotfiles/link.conf.yaml echo "Linking all of the files that need root permissions to their respective directories..." sudo $dotfiles/link -c $dotfiles/link-root.conf.yaml if [[ $distro == "arch" ]]; then $install_scripts/arch $dotfiles fi $scripts/configuration/utils $dotfiles $scripts/configuration/applications $dotfiles else echo "You don't have sudo rights, exiting..." fi else echo "No internet connection available, exiting..." fi