Fix mirrorlist & combine install3

pull/2/head
beech 5 months ago
parent bf24f48b63
commit ed98a5506f
  1. 6
      install1.sh
  2. 11
      install2.sh
  3. 109
      install3-experimental.sh
  4. 67
      install3.sh

@ -75,6 +75,12 @@ pacman -Syy
pacman -S archlinux-keyring --noconfirm pacman -S archlinux-keyring --noconfirm
pacman -S pacman-contrib rsync reflector terminus-font --noconfirm --needed pacman -S pacman-contrib rsync reflector terminus-font --noconfirm --needed
sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf
cat > /etc/pacman.d/mirrorlist << 'EOF'
##
## Arch Linux repository mirrorlist
## Generated on install
##
EOF
reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist
# install arch # install arch

@ -25,7 +25,14 @@ echo "Defaults rootpw" >> /etc/sudoers
sudo pacman -S bash-completion --noconfirm --needed sudo pacman -S bash-completion --noconfirm --needed
pacman -S reflector --noconfirm --needed 2>/dev/null || true pacman -S reflector --noconfirm --needed 2>/dev/null || true
reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist 2>/dev/null || true cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup 2>/dev/null || true
cat > /etc/pacman.d/mirrorlist << 'EOF'
##
## Arch Linux repository mirrorlist
## Generated on install
##
EOF
reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist
sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
locale-gen locale-gen
@ -71,5 +78,5 @@ sudo systemctl start NetworkManager.service
umount /sys/firmware/efi/efivars/ 2>/dev/null || true umount /sys/firmware/efi/efivars/ 2>/dev/null || true
echo "-------------------------------------------------" echo "-------------------------------------------------"
echo "Arch Linux Installed & Configured. Please [exit] & run [umount -R /mnt] and reboot" echo "Arch Linux Installed & Configured. Please reboot"
echo "-------------------------------------------------" echo "-------------------------------------------------"

@ -1,109 +0,0 @@
#!/usr/bin/env bash
chmod +x gnomesetup.sh
chmod +x kdesetup.sh
chmod +x software.sh
chmod +x qemu.sh
install_gnome () {
echo "Setting up GNOME + SDDM..."
sh gnomesetup.sh
echo "Gnome installed & GDM enabled on reboot."
}
install_kde () {
echo "Setting up KDE + SDDM..."
sh kdesetup.sh
echo "KDE installed + SDDM enabled on reboot"
}
install_software () {
echo "Setting up KDE + SDDM..."
sh software.sh
echo "Software installed."
}
install_qemu () {
echo "Setting up QEMU + Virt Manager..."
sh qemu.sh
echo "Virt Manager installed."
}
setup_nvidia () {
echo "-------------------------------------------------"
echo "NVIDIA Driver Selection"
echo "-------------------------------------------------"
nvidia_options=("Main NVIDIA Drivers (Latest)" "NVIDIA 580xx Drivers (Pascal/Older - AUR)" "Cancel")
echo "Select NVIDIA driver version:"
select nvidia_opt in "${nvidia_options[@]}"; do
case $REPLY in
1)
echo "Setting up main NVIDIA drivers..."
sudo pacman -Syu --noconfirm --needed
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings --noconfirm --needed
sudo sed -i 's/^MODULES=().*/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
sudo sed -i 's/\(HOOKS=.*\) kms/\1/' /etc/mkinitcpio.conf
sudo mkinitcpio -P
sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/
sudo sed -i '/^options/ s/$/ nvidia-drm.modeset=1 nvidia_drm.fbdev=1 nvidia-drm.ForceCompositionPipeline=1 nvidia.NVreg_EnableGpuFirmware=0/' /boot/loader/entries/arch.conf
echo "NVIDIA driver setup finished."
break
;;
2)
echo "Setting up NVIDIA 580xx drivers (AUR)..."
# Check if yay is installed
if ! command -v yay &> /dev/null; then
echo "Yay is not installed. Installing yay..."
cd "${HOME}"
git clone "https://aur.archlinux.org/yay.git"
cd "${HOME}/yay"
makepkg -si
cd "${HOME}"
rm -rf "${HOME}/yay"
echo "Yay installation complete."
else
echo "Yay already installed."
fi
# Install 580xx drivers
sudo pacman -Syu --noconfirm --needed
yay -S nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils nvidia-580xx-settings opencl-nvidia-580xx lib32-opencl-nvidia-580xx --noconfirm --needed
sudo sed -i 's/^MODULES=().*/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
sudo sed -i 's/\(HOOKS=.*\) kms/\1/' /etc/mkinitcpio.conf
sudo mkinitcpio -P
sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/
sudo sed -i '/^options/ s/$/ nvidia-drm.modeset=1 nvidia_drm.fbdev=1 nvidia-drm.ForceCompositionPipeline=1 nvidia.NVreg_EnableGpuFirmware=0/' /boot/loader/entries/arch.conf
echo "NVIDIA 580xx driver setup finished."
break
;;
3)
echo "Cancelled NVIDIA driver setup."
break
;;
*)
echo "Invalid option. Please select 1, 2, or 3."
;;
esac
done
}
while true; do
options=("Install GNOME" "Install KDE" "Install Software" "Install QEMU + Virt Manager" "Setup Nvidia Drivers" "Exit")
echo "Desktop & Software Setup: "
select opt in "${options[@]}"; do
case $REPLY in
1) install_gnome; break ;;
2) install_kde; break ;;
3) install_software; break ;;
4) install_qemu; break ;;
5) setup_nvidia; break ;;
6) break 2 ;;
*) echo "Invalid" >&2
esac
done
done
echo "Exiting! Please reboot to enter desktop environment."

@ -29,15 +29,64 @@ install_qemu () {
} }
setup_nvidia () { setup_nvidia () {
echo "Setting up Nvidia drivers..." echo "-------------------------------------------------"
sudo pacman -Syu --noconfirm --needed echo "NVIDIA Driver Selection"
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings --noconfirm --needed echo "-------------------------------------------------"
sudo sed -i 's/^MODULES=().*/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
sudo sed -i 's/\(HOOKS=.*\) kms/\1/' /etc/mkinitcpio.conf nvidia_options=("Main NVIDIA Drivers (Latest)" "NVIDIA 580xx Drivers (Pascal/Older - AUR)" "Cancel")
sudo mkinitcpio -P
sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/ echo "Select NVIDIA driver version:"
sudo sed -i '/^options/ s/$/ nvidia-drm.modeset=1 nvidia_drm.fbdev=1 nvidia-drm.ForceCompositionPipeline=1 nvidia.NVreg_EnableGpuFirmware=0/' /boot/loader/entries/arch.conf select nvidia_opt in "${nvidia_options[@]}"; do
echo "Nvidia driver setup finished." case $REPLY in
1)
echo "Setting up main NVIDIA drivers..."
sudo pacman -Syu --noconfirm --needed
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings --noconfirm --needed
sudo sed -i 's/^MODULES=().*/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
sudo sed -i 's/\(HOOKS=.*\) kms/\1/' /etc/mkinitcpio.conf
sudo mkinitcpio -P
sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/
sudo sed -i '/^options/ s/$/ nvidia-drm.modeset=1 nvidia_drm.fbdev=1 nvidia-drm.ForceCompositionPipeline=1 nvidia.NVreg_EnableGpuFirmware=0/' /boot/loader/entries/arch.conf
echo "NVIDIA driver setup finished."
break
;;
2)
echo "Setting up NVIDIA 580xx drivers (AUR)..."
# Check if yay is installed
if ! command -v yay &> /dev/null; then
echo "Yay is not installed. Installing yay..."
cd "${HOME}"
git clone "https://aur.archlinux.org/yay.git"
cd "${HOME}/yay"
makepkg -si
cd "${HOME}"
rm -rf "${HOME}/yay"
echo "Yay installation complete."
else
echo "Yay already installed."
fi
# Install 580xx drivers
sudo pacman -Syu --noconfirm --needed
yay -S nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils nvidia-580xx-settings opencl-nvidia-580xx lib32-opencl-nvidia-580xx --noconfirm --needed
sudo sed -i 's/^MODULES=().*/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
sudo sed -i 's/\(HOOKS=.*\) kms/\1/' /etc/mkinitcpio.conf
sudo mkinitcpio -P
sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/
sudo sed -i '/^options/ s/$/ nvidia-drm.modeset=1 nvidia_drm.fbdev=1 nvidia-drm.ForceCompositionPipeline=1 nvidia.NVreg_EnableGpuFirmware=0/' /boot/loader/entries/arch.conf
echo "NVIDIA 580xx driver setup finished."
break
;;
3)
echo "Cancelled NVIDIA driver setup."
break
;;
*)
echo "Invalid option. Please select 1, 2, or 3."
;;
esac
done
} }
while true; do while true; do