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