#!/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