Linux_scriptek/arch_install.sh
2024-12-21 11:11:22 +00:00

227 lines
6.7 KiB
Bash

#!/bin/bash
# Hiba esetén azonnal leáll a script
set -e
# Jogosultság ellenőrzés
#if [ "$EUID" -ne 0 ]; then
#echo "Please, run script with sudo"
##exit 1
fi
# Az aktuális felhasználó meghatározása
#CURRENT_USER=$(whoami)
CURRENT_USER=$USER
# Adjuk hozzá az aktuális felhasználót a sudoers fájlhoz, hogy jelszó nélkül használhassa a sudo-t
echo "$CURRENT_USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$CURRENT_USER > /dev/null
#echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER > /dev/null
# Ellenőrizzük, hogy sikerült-e hozzáadni
if sudo grep -q "$CURRENT_USER ALL=(ALL) NOPASSWD: ALL" /etc/sudoers.d/$CURRENT_USER; then
echo "Az aktuális felhasználó sikeresen hozzá lett adva a sudoers fájlhoz jelszó nélküli sudo hozzáféréssel."
else
echo "Hiba történt a sudoers fájl módosításakor."
exit 1
fi
# GPU választás ismétléssel
while true; do
echo "Válaszd ki melyik GPU-val rendelkezel:"
echo "1 - AMD"
echo "2 - NVIDIA - Csak ez műkszik xD"
read -p "Add meg a választásod (1-2): " gpu_choice
# Ha a bemenet érvényes (1 vagy 2), kilépünk a ciklusból
if [[ "$gpu_choice" == "1" || "$gpu_choice" == "2" ]]; then
break
else
echo "Érvénytelen választás, próbáld újra."
fi
done
# Kezelőfelület választás ismétléssel
while true; do
echo "Válassz ki egy kezelőfelületet:"
echo "1 - GNOME telepítés - Csak ez műkszik xD"
echo "2 - KDE telepítés"
echo "3 - XFCE telepítés"
echo "4 - Cinnamon telepítés"
read -p "Add meg a választásod (1-4): " de_choice
# Ha a bemenet érvényes (1-4), kilépünk a ciklusból
if [[ "$de_choice" =~ ^[1-4]$ ]]; then
break
else
echo "Érvénytelen választás, próbáld újra."
fi
done
# Yay telepítése
echo "Yay telepítése..."
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si --noconfirm
cd ..
rm -rf yay-bin
echo "Yay telepítése befejeződött."
# Yaru téma telepítése
echo "Yaru téma telepítése..."
git clone https://aur.archlinux.org/yaru.git
cd yaru
makepkg -si --noconfirm
cd ..
rm -rf yaru
echo "Yaru téma telepítése befejeződött."
# Frissítsük a csomaglistát
echo "Csomaglista frissítése..."
sudo pacman -Syu --noconfirm
# Nano és Bash-completion telepítése
echo "Csomagok telepítése..."
sudo pacman -S --noconfirm nano bash-completion spice-vdagent git
# pacman.conf helyének meghatározása
PACMAN_CONF="/etc/pacman.conf"
# Ellenőrizzük, hogy a fájl létezik-e
if [[ ! -f $PACMAN_CONF ]]; then
echo "Az $PACMAN_CONF fájl nem található."
exit 1
fi
# Távolítsuk el a '#' jelet a szükséges sorok elejéről
sed -i 's/^#ParallelDownloads = 5/ParallelDownloads = 5/' "$PACMAN_CONF"
sed -i 's/^#Color/Color/' "$PACMAN_CONF"
# Ellenőrizzük, hogy a ParallelDownloads sor sikeresen frissült-e
if ! grep -q "^ParallelDownloads = 5" "$PACMAN_CONF"; then
echo "Nem sikerült frissíteni a #ParallelDownloads = 5 sort. A script leáll."
exit 1
fi
# Adjunk hozzá egy ILoveCandy sort a ParallelDownloads sor alá
sed -i '/^ParallelDownloads = 5/a ILoveCandy' "$PACMAN_CONF"
# Ellenőrizzük, hogy a ILoveCandy sor sikeresen bekerült-e
if ! grep -q "^ILoveCandy" "$PACMAN_CONF"; then
echo "Nem sikerült hozzáadni az ILoveCandy sort. A script leáll."
exit 1
fi
# Ellenőrizzük, hogy a Color sor sikeresen frissült-e
if ! grep -q "^Color" "$PACMAN_CONF"; then
echo "Nem sikerült frissíteni a #Color sort. A script leáll."
exit 1
fi
echo "A módosítások sikeresen megtörténtek: #ParallelDownloads = 5 frissítve, ILoveCandy hozzáadva, #Color frissítve."
# Grub fájl helye
GRUB_DEFAULT="/etc/default/grub"
# Ellenőrizzük, hogy a fájl létezik-e
if [[ ! -f $GRUB_DEFAULT ]]; then
echo "Az $GRUB_DEFAULT fájl nem található."
exit 1
fi
# Ellenőrizzük, hogy a GRUB_TIMEOUT_STYLE sor már létezik-e
if grep -q "^GRUB_TIMEOUT_STYLE=hidden" "$GRUB_DEFAULT"; then
echo "A GRUB_TIMEOUT_STYLE=hidden már szerepel az $GRUB_DEFAULT fájlban."
else
# Adjuk hozzá a sort a fájl végéhez
echo "GRUB_TIMEOUT_STYLE=hidden" >> "$GRUB_DEFAULT"
echo "A GRUB_TIMEOUT_STYLE=hidden hozzáadva az $GRUB_DEFAULT fájlhoz."
fi
# Futtassuk a grub-mkconfig parancsot
if grub-mkconfig -o /boot/grub/grub.cfg; then
echo "A GRUB konfiguráció sikeresen frissítve."
else
echo "Nem sikerült frissíteni a GRUB konfigurációt."
exit 1
fi
# Választott GPU kódok futtatása
if [ "$gpu_choice" == "1" ]; then
echo "AMD driverek telepítése..."
# Itt add meg az AMD driverek telepítéséhez szükséges parancsokat
elif [ "$gpu_choice" == "2" ]; then
echo "NVIDIA driverek telepítése..."
sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key F3B607488DB35A47
sudo pacman -U --noconfirm 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-keyring-20240331-1-any.pkg.tar.zst' \
'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-mirrorlist-18-1-any.pkg.tar.zst'
if ! grep -q "\[cachyos\]" /etc/pacman.conf; then
echo -e "\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist" | sudo tee -a /etc/pacman.conf > /dev/null
echo "A [cachyos] szekció sikeresen hozzáadva az /etc/pacman.conf fájlhoz."
fi
sudo pacman -Syu --noconfirm
sudo pacman -S --noconfirm linux-cachyos
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo pacman -S --noconfirm linux-cachyos-nvidia
fi
# Választott DE kódok futtatása
if [ "$de_choice" == "1" ]; then
echo "GNOME telepítése..."
# A külső URL
GNOME_URL="https://git.rp1.hu/gabeszm/Linux_scriptek/raw/branch/main/gnome.sh"
# Letöltjük a szkriptet
curl -Ls "$GNOME_URL" -o gnome.sh
# Ellenőrizzük, hogy sikerült-e letölteni
if [ -f "gnome.sh" ]; then
echo "A GNOME telepítő szkript sikeresen letöltve. Futtatás..."
sudo chmod +x gnome.sh
# A szkript futtatása
# Az ideiglenes sudo jogosultság eltávolítása
sudo rm -f /etc/sudoers.d/$USER
bash -x gnome.sh | tee gnome_install.log
else
echo "Nem sikerült letölteni a GNOME telepítő szkriptet."
exit 1
fi
elif [ "$de_choice" == "2" ]; then
echo "KDE telepítése..."
# Itt add meg a KDE telepítéséhez szükséges parancsokat
elif [ "$de_choice" == "3" ]; then
echo "XFCE telepítése..."
# Itt add meg az XFCE telepítéséhez szükséges parancsokat
elif [ "$de_choice" == "4" ]; then
echo "Cinnamon telepítése..."
# Itt add meg a Cinnamon telepítéséhez szükséges parancsokat
fi
# Minimális csomagok telepítése
echo "Csomagok telepítése..."
sudo pacman -S --noconfirm eog flatpak base-devel firefox baobab ffmpeg git xdg-desktop-portal-wlr
# Restart
echo "Újraindítás..."
for ((i=5; i>0; i--)); do
echo "$i"
sleep 1
done
reboot