diff --git a/archiso/airootfs/usr/local/bin/removeun b/archiso/airootfs/usr/local/bin/removeun index 6be83dd..d168221 100755 --- a/archiso/airootfs/usr/local/bin/removeun +++ b/archiso/airootfs/usr/local/bin/removeun @@ -2,46 +2,60 @@ #set -e _clean_files() { - local _files_to_remove=( - /etc/modprobe.d/nvidia-utils.conf - /etc/modules-load.d/nvidia-utils.conf - /usr/local/bin/choose-mirror - /usr/local/bin/prepare-live-desktop.sh - /usr/local/bin/removeun-online +local _files_to_remove=( + /etc/modprobe.d/nvidia-utils.conf + /etc/modules-load.d/nvidia-utils.conf + /usr/local/bin/choose-mirror + /usr/local/bin/prepare-live-desktop.sh + /usr/local/bin/removeun-online ) - local xx - for xx in "${_files_to_remove[@]}"; do rm -f "$xx" || true; done + + local xx + for xx in "${_files_to_remove[@]}"; do rm -f "$xx" || true; done } -# taken from Erik Dubois script _clean_packages() { - local _packages_to_remove=( - gparted - grsync - cachyos-calamares - cachyos-calamares-config - edk2-shell - boost-libs - doxygen - expect - gpart - tcpdump - arch-install-scripts - squashfs-tools - extra-cmake-modules - cmake - elinks - yaml-cpp - syslinux - clonezilla - memtest86+ - mkinitcpio-archiso +local _packages_to_remove=( + gparted + grsync + cachyos-calamares + cachyos-calamares-config + edk2-shell + boost-libs + doxygen + expect + gpart + tcpdump + arch-install-scripts + squashfs-tools + extra-cmake-modules + cmake + elinks + yaml-cpp + syslinux + clonezilla + memtest86+ + mkinitcpio-archiso ) + + local _nvidia_packages_to_remove=(nvidia-dkms nvidia-utils) + + local _check_nvidia_card="$(mhwd --is_nvidia_card | grep -q 'NVIDIA card found!'; echo $?)" + if [[ "${_check_nvidia_card}" -ne 0 ]]; then + echo "No NVIDIA card detected. Removing nvidia drivers" + local xx # @ does one by one to avoid errors in the entire process - # * can be used to treat all packages in one command - for xx in "${_packages_to_remove[@]}"; do pacman -Rsc "$xx" --noconfirm; done + for xx in "${_nvidia_packages_to_remove[@]}"; do pacman -Rc "$xx" --noconfirm; done + fi + + local xx + # @ does one by one to avoid errors in the entire process + # taken from Erik Dubois script + for xx in "${_packages_to_remove[@]}"; do pacman -Rsc "$xx" --noconfirm; done } _clean_packages _clean_files + +# vim:set ft=bash sw=2 sts=2 et: