Make the guard step by step

This commit is contained in:
David Heinemeier Hansson 2025-08-11 17:49:21 +02:00
parent 16c671adf0
commit 26e3cc0b8c

View File

@ -1,32 +1,25 @@
#!/bin/bash
abort() {
echo -e "\e[31mOmarchy requires a fresh vanilla Arch install and running on x86_64 as user.\e[0m"
if gum confirm "Proceed anyway on your own accord and without assistance?"; then
exit 0
else
exit 1
fi
echo -e "\e[31mOmarchy install requires: $1\e[0m"
echo
gum confirm "Proceed anyway on your own accord and without assistance?" || exit 1
}
# Must be an Arch distro
[[ -f /etc/arch-release ]] || abort
[[ -f /etc/arch-release ]] || abort "Vanilla Arch"
# Must not be an Arch derivative distro
for marker in /etc/cachyos-release /etc/eos-release /etc/garuda-release /etc/manjaro-release; do
[[ -f "$marker" ]] && abort
[[ -f "$marker" ]] && abort "Vanilla Arch"
done
# Must not be runnig as root
[ "$EUID" -eq 0 ] && abort
[ "$EUID" -eq 0 ] && abort "Running as user (not root)"
# Must be x86 only to fully work
[ "$(uname -m)" != "x86_64" ] && abort
[ "$(uname -m)" != "x86_64" ] && abort "x86_64 CPU"
# Must not have Gnome or KDE already install
pacman -Qe gnome-shell &>/dev/null && abort
pacman -Qe plasma-desktop &>/dev/null && abort
# All guards have been cleared!
echo -e "\e[32mOmarchy sees a fresh vanilla Arch install running on x86_64 as user.\e[0m"
pacman -Qe gnome-shell &>/dev/null && abort "Fresh + Vanilla Arch"
pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch"