diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index b08b12b..42da19e 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -99,6 +99,23 @@ if $AF_MODE; then command -v jq &>/dev/null || pacman -Sy --noconfirm jq fi +############################################ +# NETWORK CHECK +############################################ +if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then + if $AF_MODE; then + echo "Warning: no internet connection detected — continuing in answerfile mode." + else + echo "No internet connection detected. Launching nmtui..." + nmtui + if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then + echo "Warning: still offline. Packages cannot be downloaded without network." + read -rp "Continue anyway? [y/N]: " _net_ans + [[ "${_net_ans,,}" == "y" ]] || { echo "Aborted — no network."; exit 1; } + fi + fi +fi + ############################################ # KEYMAP # To add more layouts: append "code|Display Name" to KEYMAPS diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 947faad..1f55e0b 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -118,6 +118,23 @@ else echo "== Arch Linux FIDO2-Ready Installer ==" fi +############################################ +# NETWORK CHECK +############################################ +if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then + if $AF_MODE; then + echo "Warning: no internet connection detected — continuing in answerfile mode." + else + echo "No internet connection detected. Launching nmtui..." + nmtui + if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then + echo "Warning: still offline. Packages cannot be downloaded without network." + read -rp "Continue anyway? [y/N]: " _net_ans + [[ "${_net_ans,,}" == "y" ]] || { echo "Aborted — no network."; exit 1; } + fi + fi +fi + ############################################ # Begin ############################################ diff --git a/setup/tui-install.sh b/setup/tui-install.sh index c7612aa..bb551f7 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -10,7 +10,7 @@ MODULES="$DOTFILES_DIR/setup/modules" APPS="$MODULES/optional-Modules/apps" LOG="$HOME/dotfiles-install.log" TMP_D="$(mktemp -d)" -trap 'rm -rf "$TMP_D"' EXIT +trap 'rm -rf "$TMP_D"; tput reset 2>/dev/null || stty sane 2>/dev/null || true' EXIT INT TERM HUP ANSWERFILE="${ANSWERFILE:-/answerfile.json}" ANSWERFILE_MODE=false @@ -18,6 +18,10 @@ ANSWERFILE_MODE=false BACKTITLE="the_miro's Arch Dotfiles" +# ── Terminal dimensions (bare console safe) ─────────────────────────────────── +TERM_H=$(tput lines 2>/dev/null || echo 24) +TERM_W=$(tput cols 2>/dev/null || echo 80) + # ── Cyberqueer dialog theme ─────────────────────────────────────────────────── export DIALOGRC="$TMP_D/dialogrc" cat > "$DIALOGRC" <<'EOF' @@ -302,9 +306,11 @@ fi if $ANSWERFILE_MODE; then SELECTED_APPS="$AF_APPS" else + _APP_H=$(( TERM_H - 2 < 40 ? TERM_H - 2 : 40 )) + _APP_LIST_H=$(( _APP_H - 8 < 4 ? 4 : _APP_H - 8 )) SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ --title " Applications " \ - --checklist "Optional applications — installed after base components:" 40 76 32 \ + --checklist "Optional applications — installed after base components:" "$_APP_H" 76 "$_APP_LIST_H" \ "ollama" "Ollama local LLM runner + API server" off \ "llama-cpp" "llama.cpp standalone inference CLI + server" off \ "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ @@ -435,10 +441,11 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"qemu"* ]] && SUMMARY+=" ✦ QEMU/KVM + virt-manager\n" fi + _CONF_H=$(( TERM_H - 2 < 24 ? TERM_H - 2 : 24 )) dialog --backtitle "$BACKTITLE" \ --title " Confirm Installation " \ --yesno "\n Components to install:\n\n${SUMMARY}\n Log: $LOG\n\n Proceed?" \ - 24 62 || { clear; echo "Aborted."; exit 0; } + "$_CONF_H" 62 || { clear; echo "Aborted."; exit 0; } fi count_steps "$COMPONENTS" "$DE" "$SELECTED_APPS"