#!/bin/bash _clean_packages() { local _leave_these_packages="base\nbase-devel\ncachyos-keyring\ncachyos-hello\ngrub\nefibootmgr\noctopi\nca-certificates\nca-certificates-mozilla\nca-certificates-utils\npacman\narchlinux-keyring\n" local _packages_to_remove=($(comm -23 <(pacman -Qq | sort) <({ pacman -Qqg base-devel; pacman -Qqg cachyos; printf $_leave_these_packages; } | sort -u))) 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 rm /etc/sddm.conf || true } _try_v3() { /lib/ld-linux-x86-64.so.2 --help | grep "x86-64-v3 (supported, searched)" > /dev/null local pacman_conf="/etc/pacman.conf" local pacman_conf_cachyos="/etc/pacman-more.conf" local pacman_conf_path_backup="/etc/pacman.conf.bak" if [ $? -eq 0 ]; then echo "x86-64-v3 is supported" sed -i 's/Architecture = auto/#Architecture = auto/' $pacman_conf_cachyos sed -i 's/#//g' $pacman_conf_cachyos echo "backup old config" mv $pacman_conf $pacman_conf_path_backup echo "CachyOS -v3 Repo changed" mv $pacman_conf_cachyos $pacman_conf else echo "x86-64-v3 is not supported" fi } _clean_packages _try_v3